{ "openapi": "3.0.0", "info": { "title": "awork API", "version": "1.2.0" }, "paths": { "/accounts/{accountId}": { "put": { "tags": [ "Accounts" ], "summary": "Updates the account with the specified id.", "description": "Updates the account with the specified id.\r\nDoes not update the external account of the user.\r\nUse the 'accounts/connectToSocialAccount' or 'accounts/disconnectToSocialAccount' endpoints instead.", "parameters": [ { "name": "accountId", "in": "path", "description": "The id of the account.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the account.", "content": { "application/json": { "schema": { "type": "object", "properties": { "email": { "type": "string", "description": "The email of the account.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "firstName": { "type": "string", "description": "The first name of the account.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the account.", "nullable": true, "example": "Creative" }, "language": { "type": "string", "description": "The language of the account, as a Language Culture Name (de-DE).", "nullable": true, "example": "en-GB" }, "timezone": { "type": "string", "description": "The timezone of the account.\r\nThe format of the timezone is the IANA standard.", "nullable": true, "example": "Europe/London" } }, "additionalProperties": false, "description": "The POST/PUT model for an account." } }, "application/*+json": { "schema": { "type": "object", "properties": { "email": { "type": "string", "description": "The email of the account.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "firstName": { "type": "string", "description": "The first name of the account.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the account.", "nullable": true, "example": "Creative" }, "language": { "type": "string", "description": "The language of the account, as a Language Culture Name (de-DE).", "nullable": true, "example": "en-GB" }, "timezone": { "type": "string", "description": "The timezone of the account.\r\nThe format of the timezone is the IANA standard.", "nullable": true, "example": "Europe/London" } }, "additionalProperties": false, "description": "The POST/PUT model for an account." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "email": { "type": "string", "description": "The email of the account.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "firstName": { "type": "string", "description": "The first name of the account.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the account.", "nullable": true, "example": "Creative" }, "language": { "type": "string", "description": "The language of the account, as a Language Culture Name (de-DE).", "nullable": true, "example": "en-GB" }, "timezone": { "type": "string", "description": "The timezone of the account.\r\nThe format of the timezone is the IANA standard.", "nullable": true, "example": "Europe/London" }, "id": { "type": "string", "description": "The id of the account.", "format": "uuid" }, "passwordIsAutoGenerated": { "type": "boolean", "description": "Whether the password is generated by awork.", "example": false }, "emailConfirmed": { "type": "boolean", "description": "Whether the email has been confirmed by the user." }, "externalAccounts": { "type": "array", "items": { "type": "object", "properties": { "provider": { "type": "string", "description": "The name of the external provider.", "nullable": true, "example": "google" }, "externalUserId": { "type": "string", "description": "The id of the user for the external account.", "nullable": true, "example": "11112222333344445555" } }, "additionalProperties": false }, "description": "The list of connected social providers.", "nullable": true } }, "additionalProperties": false, "description": "The account represents a unique user account within awork." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/clientapplications": { "get": { "tags": [ "ClientApplications" ], "summary": "Returns all client applications.", "description": "Returns all client applications.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "clientId": { "type": "string", "description": "The client application's identifier.", "nullable": true, "example": "integration" }, "displayName": { "type": "string", "description": "The client application's display name.", "nullable": true, "example": "Awork integration" }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The redirect URIs.", "nullable": true, "example": [ "https://awork.com/" ] }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-14T16:40:40.100Z" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-25T11:15:00.100Z" } }, "additionalProperties": false, "description": "The client application is required for the OAuth flow." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "post": { "tags": [ "ClientApplications" ], "summary": "Registers a new client application.", "description": "Registers a new client application.", "requestBody": { "description": "The client application model.", "content": { "application/json": { "schema": { "type": "object", "properties": { "clientId": { "type": "string", "description": "The client application's identifier.", "nullable": true, "example": "integration" }, "displayName": { "type": "string", "description": "The client application's display name.", "nullable": true, "example": "Awork integration" }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The redirect URIs.", "nullable": true, "example": [ "https://awork.com/" ] } }, "additionalProperties": false, "description": "The client application is required for the OAuth flow." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "clientId": { "type": "string", "description": "The client application's identifier.", "nullable": true, "example": "integration" }, "displayName": { "type": "string", "description": "The client application's display name.", "nullable": true, "example": "Awork integration" }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The redirect URIs.", "nullable": true, "example": [ "https://awork.com/" ] }, "clientSecret": { "type": "string", "description": "The client application's secret.", "nullable": true, "example": "$ecret" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-14T16:45:07.100Z" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-04-22T11:00:04.100Z" } }, "additionalProperties": false, "description": "The client application is required for the OAuth flow." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/clientapplications/{clientId}": { "get": { "tags": [ "ClientApplications" ], "summary": "Returns the client application with the specified id.", "description": "Returns the client application with the specified id.", "parameters": [ { "name": "clientId", "in": "path", "description": "The id of the client application.", "required": true, "schema": { "type": "string" }, "example": "googlesheet" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "clientId": { "type": "string", "description": "The client application's identifier.", "nullable": true, "example": "integration" }, "displayName": { "type": "string", "description": "The client application's display name.", "nullable": true, "example": "Awork integration" }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The redirect URIs.", "nullable": true, "example": [ "https://awork.com/" ] }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-14T16:40:40.100Z" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-25T11:15:00.100Z" } }, "additionalProperties": false, "description": "The client application is required for the OAuth flow." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "put": { "tags": [ "ClientApplications" ], "summary": "Updates the client application with the specified id.", "description": "Updates the client application with the specified id.", "parameters": [ { "name": "clientId", "in": "path", "description": "The id of the client application.", "required": true, "schema": { "type": "string" }, "example": "integration" } ], "requestBody": { "description": "The client application model.", "content": { "application/json": { "schema": { "type": "object", "properties": { "displayName": { "type": "string", "description": "The client application's display name.", "nullable": true, "example": "Awork integration" }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The redirect URIs.", "nullable": true, "example": [ "https://awork.com/" ] } }, "additionalProperties": false, "description": "The model to update a client application." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "clientId": { "type": "string", "description": "The client application's identifier.", "nullable": true, "example": "integration" }, "displayName": { "type": "string", "description": "The client application's display name.", "nullable": true, "example": "Awork integration" }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The redirect URIs.", "nullable": true, "example": [ "https://awork.com/" ] }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-14T16:40:40.100Z" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-25T11:15:00.100Z" } }, "additionalProperties": false, "description": "The client application is required for the OAuth flow." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] }, "delete": { "tags": [ "ClientApplications" ], "summary": "Deletes the specified client application.", "description": "Deletes the specified client application.", "parameters": [ { "name": "clientId", "in": "path", "description": "The id of the client application.", "required": true, "schema": { "type": "string" }, "example": "googlesheet" } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/clientapplications/{clientId}/generatesecret": { "post": { "tags": [ "ClientApplications" ], "summary": "Generates a new secret for the specified client application.", "description": "Generates a new secret for the specified client application.", "parameters": [ { "name": "clientId", "in": "path", "description": "The id of the client application.", "required": true, "schema": { "type": "string" }, "example": "googlesheet" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "clientSecret": { "type": "string", "description": "The client application's new secret.", "nullable": true, "example": "A$ecret!" } }, "additionalProperties": false, "description": "The client application is required for the OAuth flow." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/clientapplications/{clientId}/generateapikey": { "post": { "tags": [ "ClientApplications" ], "summary": "Generates an API key for the specified client application.", "description": "Generates an API key for the specified client application.\r\nRequires an API user.", "parameters": [ { "name": "clientId", "in": "path", "description": "The id of the client application.", "required": true, "schema": { "type": "string" }, "example": "googlesheet" } ], "requestBody": { "description": "The model to generate an API key.", "content": { "application/json": { "schema": { "type": "object", "properties": { "apiUserId": { "type": "string", "description": "The API user to generate the key for.", "format": "uuid" } }, "additionalProperties": false, "description": "The model to generate an API key for a client application." } }, "application/*+json": { "schema": { "type": "object", "properties": { "apiUserId": { "type": "string", "description": "The API user to generate the key for.", "format": "uuid" } }, "additionalProperties": false, "description": "The model to generate an API key for a client application." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "token_type": { "type": "string", "description": "The type of the token, typically 'Bearer'.", "nullable": true, "example": "Bearer" }, "expires_in": { "type": "integer", "description": "The expiration date of the access token, in seconds.", "format": "int64", "example": 1647274587 }, "access_token": { "type": "string", "description": "The access token.", "nullable": true, "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "refresh_token": { "type": "string", "description": "The refresh token to get a new access token.", "nullable": true, "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } }, "additionalProperties": false, "description": "The token response contains the access and refresh tokens." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] } }, "/users/{userId}/tasks/tags": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns all tags the user is allowed to see.", "description": "Returns all tags from the available tasks of the user ordered by name.\r\nThe user making the request needs to be assigned to the task or needs\r\nread permissions on the feature \"project-planning-data\" for project tasks or\r\nread permissions on the \"entity-master-data\" of the entity of the task.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required on the me/ endpoint.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/tasks/tags": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns all tags the user is allowed to see.", "description": "Returns all tags from the available tasks of the user ordered by name.\r\nThe user making the request needs to be assigned to the task or needs\r\nread permissions on the feature \"project-planning-data\" for project tasks or\r\nread permissions on the \"entity-master-data\" of the entity of the task.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required on the me/ endpoint.", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttemplates/{projecttemplateId}/tags": { "get": { "tags": [ "Tags" ], "summary": "Returns the tags of the projecttemplate with the specified id.", "description": "Returns the tags of the projecttemplate with the specified id ordered by name.\r\nTo read the tags the user needs 'read' permissions on the specified projecttemplate.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } } } }, "/projects/{projectId}/tags": { "get": { "tags": [ "Tags" ], "summary": "Returns the tags of the project with the specified id.", "description": "Returns the tags of the project with the specified id ordered by name.\r\nTo read the tags the user needs 'read' permissions on the specified project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } } } }, "/projecttemplates/tags": { "get": { "tags": [ "Tags" ], "summary": "Returns all tags that are currently in use for the given projecttemplate type.", "description": "Returns all tags that are currently in use for the given projecttemplate type ordered by name.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } } } }, "/companies/tags": { "get": { "tags": [ "CompanyTags" ], "summary": "Returns all tags that are currently in use.", "description": "Returns all tags that are currently in use ordered by count.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/companies/{companyId}/tags": { "get": { "tags": [ "CompanyTags" ], "summary": "Returns the tags of the companies with the specified id.", "description": "Returns the tags of the company with the specified id ordered by name.\r\nTo read the tags the user needs 'read' permissions on the specified company.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/dashboards": { "get": { "tags": [ "Dashboards" ], "summary": "Returns the dashboards of the current user.", "description": "Returns the dashboards of the current user.", "parameters": [ { "name": "includeWidgets", "in": "query", "description": "Include the widgets of the dashboards in the results. Not required. False by default.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the dashboard.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user that the dashboard belongs to.", "format": "uuid" }, "widgets": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the widget.", "format": "uuid" }, "type": { "type": "string", "description": "The type of the widget.", "nullable": true, "example": "task-views" }, "name": { "type": "string", "description": "The name of the widget.", "nullable": true, "example": "Unassigned Tasks" }, "entityId": { "type": "string", "description": "The id of the entity that the widget is referencing.", "format": "uuid", "nullable": true }, "column": { "type": "integer", "description": "The column of the widget within the dashboard.", "format": "int32", "example": 0 }, "order": { "type": "integer", "description": "The order of the widget within the column.", "format": "int32", "example": 0 }, "settings": { "type": "string", "description": "The settings of the widget.", "nullable": true }, "value": { "type": "string", "description": "The value of a widget.", "nullable": true, "example": null } }, "additionalProperties": false }, "description": "A list of all widgets of the dashboard.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/projects/tags": { "get": { "tags": [ "Tags" ], "summary": "Returns all tags that are currently in use for the given project type.", "description": "Returns all tags that are currently in use for the given project type ordered by name.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } } } }, "/me/permissions": { "get": { "tags": [ "Permissions" ], "summary": "Returns the permissions of the currently logged-in user.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "signature": { "type": "string", "description": "The signature of the user permissions. Can be verified with the HMACSHA1 algorithm and the secret.", "nullable": true, "example": "c2lnbmF0dXJl" }, "userPermission": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "isAdmin": { "type": "boolean", "description": "Whether the user is an admin user.", "example": false }, "isGuest": { "type": "boolean", "description": "Whether the user is a guest user.", "example": false }, "roleId": { "type": "string", "description": "The role id of the user.", "format": "uuid" }, "isBlocked": { "type": "boolean", "description": "Whether the user is blocked.", "example": false }, "permissions": { "type": "array", "items": { "type": "object", "properties": { "feature": { "type": "string", "description": "The identifying key of the feature.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The list of access levels assigned to the feature.", "nullable": true, "example": [ "read" ] } }, "additionalProperties": false }, "description": "A list of permissions assigned to the user.", "nullable": true }, "projectRolesPermissions": { "type": "array", "items": { "type": "object", "properties": { "projectRoleId": { "type": "string", "description": "The id of the project role.", "format": "uuid" }, "permissions": { "type": "array", "items": { "type": "object", "properties": { "feature": { "type": "string", "description": "The identifying key of the feature.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The list of access levels assigned to the feature.", "nullable": true, "example": [ "read" ] } }, "additionalProperties": false }, "description": "The list of permissions of the project role.", "nullable": true } }, "additionalProperties": false }, "description": "A list of project role permissions assigned to the user.", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/permissions/features": { "get": { "tags": [ "Permissions" ], "summary": "Returns all available features.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/privatetasks/tags": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns all tags of the private tasks.", "description": "Returns all tags of the private tasks.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/milestones": { "get": { "tags": [ "ProjectMilestones" ], "summary": "Returns all project milestones of the specified project.", "description": "The user needs 'read' permissions\r\nof feature 'project-planning-data' to get the data.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" }, "id": { "type": "string", "format": "uuid" }, "project": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projectmilestones/{milestoneId}": { "get": { "tags": [ "ProjectMilestones" ], "summary": "Returns the specified project milestone.", "description": "The user needs 'read' permissions\r\nof feature 'project-planning-data' to get the data.", "parameters": [ { "name": "milestoneId", "in": "path", "description": "The id of the milestone.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" }, "id": { "type": "string", "format": "uuid" }, "project": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttemplates/{projectTemplateId}/milestones": { "get": { "tags": [ "ProjectMilestoneTemplates" ], "summary": "Returns all milestone templates of the given project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "relativeDueDate": { "type": "integer", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "format": "int64", "example": 7 }, "id": { "type": "string", "format": "uuid" }, "projectTemplateId": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "read" ] }, "post": { "tags": [ "ProjectMilestoneTemplates" ], "summary": "Creates a new milestone template for the given project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "Name", "in": "query", "description": "The name of the milestone.", "schema": { "maxLength": 255, "minLength": 0, "type": "string", "example": "Internal Review" }, "example": "Internal Review" }, { "name": "Color", "in": "query", "description": "The color of the milestone.", "schema": { "maxLength": 14, "minLength": 0, "type": "string", "example": "green" }, "example": "green" }, { "name": "RelativeDueDate", "in": "query", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "schema": { "type": "integer", "format": "int64", "example": 7 }, "example": 7 } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "relativeDueDate": { "type": "integer", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "format": "int64", "example": 7 }, "id": { "type": "string", "format": "uuid" }, "projectTemplateId": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/milestones/{milestoneId}": { "get": { "tags": [ "ProjectMilestoneTemplates" ], "summary": "Returns a milestone by id for the given project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "milestoneId", "in": "path", "description": "The id of the milestone template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "relativeDueDate": { "type": "integer", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "format": "int64", "example": 7 }, "id": { "type": "string", "format": "uuid" }, "projectTemplateId": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "read" ] }, "put": { "tags": [ "ProjectMilestoneTemplates" ], "summary": "Updates a milestone template for the given project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "milestoneId", "in": "path", "description": "The id of the milestone template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "Name", "in": "query", "description": "The name of the milestone.", "schema": { "maxLength": 255, "minLength": 0, "type": "string", "example": "Internal Review" }, "example": "Internal Review" }, { "name": "Color", "in": "query", "description": "The color of the milestone.", "schema": { "maxLength": 14, "minLength": 0, "type": "string", "example": "green" }, "example": "green" }, { "name": "RelativeDueDate", "in": "query", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "schema": { "type": "integer", "format": "int64", "example": 7 }, "example": 7 } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "relativeDueDate": { "type": "integer", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "format": "int64", "example": 7 }, "id": { "type": "string", "format": "uuid" }, "projectTemplateId": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] }, "delete": { "tags": [ "ProjectMilestoneTemplates" ], "summary": "Deletes a milestone for the given project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "milestoneId", "in": "path", "description": "The id of the milestone template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "relativeDueDate": { "type": "integer", "description": "Relative amount of days the milestone is due after the project creation date\r\nwhen a project gets created with the corresponding project template.", "format": "int64", "example": 7 }, "id": { "type": "string", "format": "uuid" }, "projectTemplateId": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/projectstatuses": { "post": { "tags": [ "ProjectStatuses" ], "summary": "Creates a new project status.", "description": "Creates a new project status.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to creates a new project status.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project status. Required.", "nullable": true, "example": "In Progress" }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Specifies the general type of this project status.\r\nAccepted values: 'progress', 'not-started', 'closed', 'stuck\r\nRequired.", "nullable": true, "example": "progress" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project status. Required.", "nullable": true, "example": "In Progress" }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Specifies the general type of this project status.\r\nAccepted values: 'progress', 'not-started', 'closed', 'stuck\r\nRequired.", "nullable": true, "example": "progress" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projects/{projectId}/projectstatuses": { "post": { "tags": [ "ProjectStatuses" ], "summary": "Creates a new project status for a project.", "description": "Creates a new project status.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to creates a new project status.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project status. Required.", "nullable": true, "example": "In Progress" }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Specifies the general type of this project status.\r\nAccepted values: 'progress', 'not-started', 'closed', 'stuck\r\nRequired.", "nullable": true, "example": "progress" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project status. Required.", "nullable": true, "example": "In Progress" }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Specifies the general type of this project status.\r\nAccepted values: 'progress', 'not-started', 'closed', 'stuck\r\nRequired.", "nullable": true, "example": "progress" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projects/{projectId}/projecttasks": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns all project tasks of the project with the specified id.", "description": "To get the task with the specified id 'read' permissions on the feature project-planning-data are necessary.\r\nOtherwise returns only assigned tasks.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/projecttasks/{taskId}": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns the project task with the specified id.", "description": "To get the task with the specified id 'read' permissions on the feature project-planning-data are necessary.\r\nBut the assignee has also the permissions to get the task.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/projecttasks": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns all project tasks that the current user can see.", "description": "Returns the project tasks for which the current user has read permissions.\r\nThe returned tasks depend on the global permissions and on the projects the\r\nuser is a member of.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/projecttasks/tags": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns all tags of the project tasks.", "description": "Returns all tags of the project tasks.", "parameters": [ { "name": "projectId", "in": "query", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/roles/{roleId}/users": { "get": { "tags": [ "Roles" ], "summary": "Returns all users of the role with the specified id.", "description": "Returns all users of the role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to add to the role.", "format": "uuid" }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated in this role.", "example": false }, "roleId": { "type": "string", "description": "The id of the role the user is assigned to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] } }, "/roles/{roleId}/users/{userId}/activate": { "post": { "tags": [ "Roles" ], "summary": "Activates the user with the specified id.", "description": "Activates the user with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/roles/{roleId}/users/{userId}/deactivate": { "post": { "tags": [ "Roles" ], "summary": "Deactivates the user with the specified id.", "description": "Deactivates the user with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/roles/{roleId}/permissions": { "get": { "tags": [ "Roles" ], "summary": "Returns all permissions of the role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] }, "id": { "type": "string", "description": "The id of the permission.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "subdomains": { "type": "array", "items": { "type": "string" }, "description": "The workspace's subdomains. Read-only.", "nullable": true, "example": [ "ncnstn" ] }, "identityIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of identities assigned to this workspace. Read-only.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "post": { "tags": [ "Roles" ], "summary": "Creates, updates or deletes a permission of the role with the specified id.", "description": "Creates, updates or deletes a permission of the role.\r\nIf the permission already exist, and the 'AccessLevels' property of the model is not empty,\r\nthe permission will be updated. If the 'AccessLevels' property of the model is empty,\r\nthe permission will be deleted.\r\nThe permission will be created if it does not exist.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the permissions.", "content": { "application/json": { "schema": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] }, "id": { "type": "string", "description": "The id of the permission.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "subdomains": { "type": "array", "items": { "type": "string" }, "description": "The workspace's subdomains. Read-only.", "nullable": true, "example": [ "ncnstn" ] }, "identityIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of identities assigned to this workspace. Read-only.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/roles/{roleId}/deactivatedmenuitems": { "get": { "tags": [ "Roles" ], "summary": "Returns all deactivated menu items for the role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "post": { "tags": [ "Roles" ], "summary": "Creates, updates the deactivated menu items for the role with the specified id.", "description": "Creates, updates the deactivated menu items for the role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The menu items to deactivate.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string" } } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/copy": { "post": { "tags": [ "TaskBundles" ], "summary": "Creates a new task bundle with the information of the specified task bundle.", "description": "Creates the taskbundle, task templates, task list templates, task template to task list templates and copies the\r\nattachments.", "parameters": [ { "name": "taskBundleId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "projectTemplateId": { "type": "string", "description": "The id of the project template to add to the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectTemplateId": { "type": "string", "description": "The id of the project template to add to the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/tasktemplates/{taskTemplateId}/recurrency": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the existing recurrency rule for one task template.", "parameters": [ { "name": "taskTemplateId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "recurrencyRule": { "type": "string", "description": "The recurrence rule as cron expression. We support all expressions which cronos supports\r\n(https://github.com/HangfireIO/Cronos).\r\nThe number of occurrences is limited to 24 a day.", "nullable": true }, "recurrencyInterval": { "type": "integer", "description": "The interval of the executed expression. If the value is 3, only the third time of the expression the recurrence is\r\nactually executed.", "format": "int32", "nullable": true, "example": 1 }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this recurrence rule, in seconds,\r\nfrom the moment of creating the task by a recurrence rule.", "format": "int64", "nullable": true, "example": 3600 }, "recurrencyStartOn": { "type": "string", "description": "DateTime when recurring task creation will start, considering the set Recurrency Rule and Recurrency Interval.", "format": "date-time", "nullable": true, "example": "2021-03-12T11:00:00Z" }, "recurrencyTimezone": { "type": "string", "description": "The timezone of the Recurrency Rule. If not set, will use the requesting user's timezone.", "nullable": true, "example": "Europe/Berlin" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/taskdependencies": { "get": { "tags": [ "TaskDependencies" ], "summary": "Returns all task dependencies for a specific project.", "description": "To get all dependencies of a project, the user needs project planning permissions on that project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project dependency.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "predecessorId": { "type": "string", "description": "The Id of the predecessor. One task can have multiple predecessor.", "format": "uuid" }, "successorId": { "type": "string", "description": "The Id of the successor. One task can have one successor.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the task dependency.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task dependency was created.", "format": "date-time", "example": "2021-03-22T13:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task dependency.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task dependenc was last modified.", "format": "date-time", "example": "2021-03-22T18:00:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task dependency.", "format": "uuid" } }, "additionalProperties": false, "description": "Describes the dependency between two tasks. One Task is the predecessor and one task is the successor." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/taskdependencies": { "get": { "tags": [ "TaskDependencies" ], "summary": "Returns all task dependencies for a specific task.", "description": "To get all dependencies of a task, the user needs project planning permissions on that project or be assigned to that\r\ntask.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "predecessorId": { "type": "string", "description": "The Id of the predecessor. One task can have multiple predecessor.", "format": "uuid" }, "successorId": { "type": "string", "description": "The Id of the successor. One task can have one successor.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the task dependency.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task dependency was created.", "format": "date-time", "example": "2021-03-22T13:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task dependency.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task dependenc was last modified.", "format": "date-time", "example": "2021-03-22T18:00:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task dependency.", "format": "uuid" } }, "additionalProperties": false, "description": "Describes the dependency between two tasks. One Task is the predecessor and one task is the successor." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/trackedtime": { "get": { "tags": [ "EntityTimeEntries" ], "summary": "Gets the summed up tracked time duration for all projects and tasks.", "description": "The taskName parameter defines the main task of which to fetch the time entries for the duration sum.\r\nSupported types are: 'projects' and 'tasks'", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "durationSum": { "type": "integer", "description": "The total duration of time trackings on this entity.", "format": "int32", "example": 893500 }, "projectId": { "type": "string", "description": "The id of the project this duration aggregation is for.", "format": "uuid", "nullable": true }, "taskId": { "type": "string", "description": "The id of the task this duration aggregation is for.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } } } } } }, "/projects/trackedtime": { "get": { "tags": [ "EntityTimeEntries" ], "summary": "Gets the summed up tracked time duration for all projects and tasks.", "description": "The projectName parameter defines the main project of which to fetch the time entries for the duration sum.\r\nSupported types are: 'projects' and 'tasks'", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "durationSum": { "type": "integer", "description": "The total duration of time trackings on this entity.", "format": "int32", "example": 893500 }, "projectId": { "type": "string", "description": "The id of the project this duration aggregation is for.", "format": "uuid", "nullable": true }, "taskId": { "type": "string", "description": "The id of the task this duration aggregation is for.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } } } } } }, "/tasks/{taskId}/trackedtime": { "get": { "tags": [ "EntityTimeEntries" ], "summary": "Gets the summed up tracked time duration for specified projects and tasks.", "description": "The taskName parameter defines the main task of which to fetch the time entries for the duration sum.\r\nSupported types are: 'projects' and 'tasks'", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "durationSum": { "type": "integer", "description": "The total duration of time trackings on this entity.", "format": "int32", "example": 893500 }, "projectId": { "type": "string", "description": "The id of the project this duration aggregation is for.", "format": "uuid", "nullable": true }, "taskId": { "type": "string", "description": "The id of the task this duration aggregation is for.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/trackedtime": { "get": { "tags": [ "EntityTimeEntries" ], "summary": "Gets the summed up tracked time duration for specified projects and tasks.", "description": "The projectName parameter defines the main project of which to fetch the time entries for the duration sum.\r\nSupported types are: 'projects' and 'tasks'", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "durationSum": { "type": "integer", "description": "The total duration of time trackings on this entity.", "format": "int32", "example": 893500 }, "projectId": { "type": "string", "description": "The id of the project this duration aggregation is for.", "format": "uuid", "nullable": true }, "taskId": { "type": "string", "description": "The id of the task this duration aggregation is for.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } } } } }, "/tasks/{taskId}/comments/{commentId}/react": { "post": { "tags": [ "Comments" ], "summary": "Updates the reactions of the comment with the specified id on the task with the specified id.", "description": "Updates the reactions of the comment with the specified id on the task with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the reactions of the comment with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "emoji": { "type": "string", "description": "The reaction (emoji).\r\nRequired.", "nullable": true, "example": "đź‘Ť" }, "operation": { "type": "string", "description": "The operation. Can be 'add' or 'remove'.\r\nRequired.", "nullable": true, "example": "add" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "emoji": { "type": "string", "description": "The reaction (emoji).\r\nRequired.", "nullable": true, "example": "đź‘Ť" }, "operation": { "type": "string", "description": "The operation. Can be 'add' or 'remove'.\r\nRequired.", "nullable": true, "example": "add" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/comments/{commentId}/react": { "post": { "tags": [ "Comments" ], "summary": "Updates the reactions of the comment with the specified id on the project with the specified id.", "description": "Updates the reactions of the comment with the specified id on the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the reactions of the comment with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "emoji": { "type": "string", "description": "The reaction (emoji).\r\nRequired.", "nullable": true, "example": "đź‘Ť" }, "operation": { "type": "string", "description": "The operation. Can be 'add' or 'remove'.\r\nRequired.", "nullable": true, "example": "add" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "emoji": { "type": "string", "description": "The reaction (emoji).\r\nRequired.", "nullable": true, "example": "đź‘Ť" }, "operation": { "type": "string", "description": "The operation. Can be 'add' or 'remove'.\r\nRequired.", "nullable": true, "example": "add" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/tasks/{taskId}/comments/{commentId}": { "get": { "tags": [ "Comments" ], "summary": "Returns the comment with the specified id of the task with the specified id.", "description": "Returns the comment with the specified id of the task with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the comments.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } }, "put": { "tags": [ "Comments" ], "summary": "Updates the comment with the specified id on the task with the specified id.", "description": "Updates the comment with the specified id on the task with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the comment with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } }, "delete": { "tags": [ "Comments" ], "summary": "Deletes the comment with the specified id on the task with the specified id.", "description": "Deletes the comment with the specified id on the task with the specified id.\r\nThe delete includes the reactions of the comment.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/comments/{commentId}": { "get": { "tags": [ "Comments" ], "summary": "Returns the comment with the specified id of the project with the specified id.", "description": "Returns the comment with the specified id of the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the comments.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } }, "put": { "tags": [ "Comments" ], "summary": "Updates the comment with the specified id on the project with the specified id.", "description": "Updates the comment with the specified id on the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the comment with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } }, "delete": { "tags": [ "Comments" ], "summary": "Deletes the comment with the specified id on the project with the specified id.", "description": "Deletes the comment with the specified id on the project with the specified id.\r\nThe delete includes the reactions of the comment.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commentId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/tasks/{taskId}/comments": { "get": { "tags": [ "Comments" ], "summary": "Returns all comments of the task with the specified id.", "description": "Returns all comments of the task with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } } }, "post": { "tags": [ "Comments" ], "summary": "Creates a new comment on the task with the specified id.", "description": "Creates a new comment on the task with the specified id.\r\nThe user needs read permissions on the task to create a comment.\r\nA user can only create a comment for him/herself, except for admins and api users.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to create a comment.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } }, "delete": { "tags": [ "Comments" ], "summary": "Deletes all comments of the specified task.", "description": "Deletes all comments of the specified task.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/tasks/{taskId}": { "get": { "tags": [ "Tasks" ], "summary": "Returns the task with the specified id.", "description": "The required permissions depend on the base type of the task.\n If the task is a project task, 'read' permissions on the 'project-planning-data' feature are required.\n For a user's private task, no special permissions are required.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "Tasks" ], "summary": "Updates the task with the specified id.", "description": "To update the task, the user needs to be the assignee of the task or 'ProjectPlanning'\r\npermissions in general or in the project the task is related to.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the task with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/copy": { "post": { "tags": [ "Tasks" ], "summary": "Creates a new task with the information of the specified task. If the task is a parent task, it will also copy its\n subtasks.", "description": "Comments, files and activity logs are not copied.\n To copy a task, the user needs to be the assignee of the task or 'ProjectPlanning'\n permissions in general or in the project the task is related to.", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks": { "post": { "tags": [ "Tasks" ], "summary": "Creates a new task. Can be a project task or a user's private task.", "description": "To create a task, the user needs to be the assignee of the task or 'ProjectPlanning'\n permissions in general or in the project the task is related to.", "requestBody": { "description": "The model used to create a task.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work for this task.\r\nRequired.", "format": "uuid" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.\r\nRequired.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "nullable": true, "example": 3 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "entityId": { "type": "string", "description": "The id of the entity the task is related to.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task. Can be 'private' for a private task or 'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "parentId": { "type": "string", "description": "The id of the parent task. Setting this value means this is a subtask.", "format": "uuid", "nullable": true }, "lists": { "type": "array", "items": { "required": [ "id", "order" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the list, the task should be assigned to.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "example": 3 } }, "additionalProperties": false }, "description": "The list where the new task should be added to.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/batch/{operation}": { "post": { "tags": [ "TasksBatch" ], "summary": "Batch edits multiple tasks at once for a given operation. The user is only allowed to edit a task if he has\r\npermissions for it. Same applies for related entities like timetrackings.", "description": "Returns MultiStatus. Includes the list of successfull and failed tasks.\r\nReturns BadRequest if the validation for either operation or form fails.\r\nSupported Operations:\r\nmovetoproject: Moves all tasks to a new project.\r\nmovetotasklist: Moves all tasks to a new task list inside the same project.\r\nsetdates: Sets the due and optionally start date for all tasks.\r\naddtags: Adds a list of tags to all tasks in the list that don't already have the tag.\r\ndelete: Deletes all tasks. Optional including time trackings.\r\nchangetypeofwork: Changes the type of work for a list of tasks. Optionally also for the related timetrackings.\r\nassignusers: Assigns a list of users to a list of tasks.\r\nunassignusers: Unassigns all users from a list of tasks.\r\nsetprio: Sets the prio flag for a list of tasks.\r\nchangetaskstatus: Sets the task status for a list of tasks.", "parameters": [ { "name": "operation", "in": "path", "description": "The name of the operation to execute on the given tasks.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The form with additional info for the batch operation.", "content": { "application/json": { "schema": { "required": [ "taskIds" ], "type": "object", "properties": { "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of task ids to perform the batch operation on." }, "newTaskListId": { "type": "string", "description": "The id of the new task list. Needed if operation is 'movetotasklist'. Optional if operation is 'movetoproject'.", "format": "uuid", "nullable": true }, "removeFromCurrentList": { "type": "boolean", "description": "Whether to remove the task from all its current task lists. Optional for operation 'movetotasklist'.", "nullable": true }, "newProjectId": { "type": "string", "description": "The id of the new project to move the tasks to. Needed if operation is 'movetoproject'.", "format": "uuid", "nullable": true }, "newTaskStatusId": { "type": "string", "description": "The id of the new task status id to change the tasks to. Needed if operation is 'movetoproject' or 'changetaskstatus'.", "format": "uuid", "nullable": true }, "newDueDate": { "type": "string", "description": "The new due date for the tasks. Optional for operation 'setdates'. If not set, due and start date will be removed.", "format": "date-time", "nullable": true }, "newStartDate": { "type": "string", "description": "The new start date for the tasks. Optional for operation 'setdates'. Only gets used when NewDueDate is set.", "format": "date-time", "nullable": true }, "removeDueDate": { "type": "boolean", "description": "Whether to remove the due date. Required for operation 'setdates'.", "nullable": true }, "removeStartDate": { "type": "boolean", "description": "Whether to remove the start date. Required for operation 'setdates'.", "nullable": true }, "tags": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false }, "description": "List of tags to add to the tasks. If task already has tag, tag is skipped.", "nullable": true }, "deleteTimeTrackings": { "type": "boolean", "description": "Whether to delete the timetrackings of each task when deleting tasks. Optional for operation 'delete'.", "nullable": true }, "newTypeOfWorkId": { "type": "string", "description": "The new type of work id for the tasks. Required if operation is 'changetypeofwork'.", "format": "uuid", "nullable": true }, "changeTimeEntries": { "type": "boolean", "description": "Whether to change the type of work of the timeentries for each task aswell. Optional for operation 'changetypeofwork'.", "nullable": true }, "userIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The id of the user to assign the tasks to. Required for operation 'assignusers'.", "nullable": true }, "removeOldAssignments": { "type": "boolean", "description": "Whether to replace or add user assignments to a task that has users already assigned. Optional for operation\r\n'assignusers'.", "nullable": true }, "isPrio": { "type": "boolean", "description": "Whether to set the tasks to be prio or not. Required for operation 'setprio'.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "taskIds" ], "type": "object", "properties": { "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of task ids to perform the batch operation on." }, "newTaskListId": { "type": "string", "description": "The id of the new task list. Needed if operation is 'movetotasklist'. Optional if operation is 'movetoproject'.", "format": "uuid", "nullable": true }, "removeFromCurrentList": { "type": "boolean", "description": "Whether to remove the task from all its current task lists. Optional for operation 'movetotasklist'.", "nullable": true }, "newProjectId": { "type": "string", "description": "The id of the new project to move the tasks to. Needed if operation is 'movetoproject'.", "format": "uuid", "nullable": true }, "newTaskStatusId": { "type": "string", "description": "The id of the new task status id to change the tasks to. Needed if operation is 'movetoproject' or 'changetaskstatus'.", "format": "uuid", "nullable": true }, "newDueDate": { "type": "string", "description": "The new due date for the tasks. Optional for operation 'setdates'. If not set, due and start date will be removed.", "format": "date-time", "nullable": true }, "newStartDate": { "type": "string", "description": "The new start date for the tasks. Optional for operation 'setdates'. Only gets used when NewDueDate is set.", "format": "date-time", "nullable": true }, "removeDueDate": { "type": "boolean", "description": "Whether to remove the due date. Required for operation 'setdates'.", "nullable": true }, "removeStartDate": { "type": "boolean", "description": "Whether to remove the start date. Required for operation 'setdates'.", "nullable": true }, "tags": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false }, "description": "List of tags to add to the tasks. If task already has tag, tag is skipped.", "nullable": true }, "deleteTimeTrackings": { "type": "boolean", "description": "Whether to delete the timetrackings of each task when deleting tasks. Optional for operation 'delete'.", "nullable": true }, "newTypeOfWorkId": { "type": "string", "description": "The new type of work id for the tasks. Required if operation is 'changetypeofwork'.", "format": "uuid", "nullable": true }, "changeTimeEntries": { "type": "boolean", "description": "Whether to change the type of work of the timeentries for each task aswell. Optional for operation 'changetypeofwork'.", "nullable": true }, "userIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The id of the user to assign the tasks to. Required for operation 'assignusers'.", "nullable": true }, "removeOldAssignments": { "type": "boolean", "description": "Whether to replace or add user assignments to a task that has users already assigned. Optional for operation\r\n'assignusers'.", "nullable": true }, "isPrio": { "type": "boolean", "description": "Whether to set the tasks to be prio or not. Required for operation 'setprio'.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "207": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/tags": { "get": { "tags": [ "TaskTags" ], "summary": "Returns all tags that are currently in use.", "description": "Returns all tags that are currently in use ordered by count.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{entityId}/tags": { "get": { "tags": [ "TaskTags" ], "summary": "Returns the tags of the entity with the specified id.", "description": "Returns the tags of the entity with the specified id ordered by name.\r\nTo read the tags the user needs 'read' permissions on the specified entity.", "parameters": [ { "name": "entityId", "in": "path", "description": "The id of the entity.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/capacity": { "get": { "tags": [ "UserCapacity" ], "summary": "Returns the capacity of the specified user.", "description": "Returns the capacity of the specified user.\r\nUser planning data or admin permissions are required if the capacity of the specified user\r\ndoes not belong to the calling user.", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user this capacity belongs to.", "format": "uuid" }, "weeklyCapacity": { "type": "object", "properties": { "mon": { "type": "integer", "description": "The user's capacity on Monday, in seconds.", "format": "int32", "example": 28800 }, "tue": { "type": "integer", "description": "The user's capacity on Tuesday, in seconds.", "format": "int32", "example": 28800 }, "wed": { "type": "integer", "description": "The user's capacity on Wednesday, in seconds.", "format": "int32", "example": 28800 }, "thu": { "type": "integer", "description": "The user's capacity on Thursday, in seconds.", "format": "int32", "example": 28800 }, "fri": { "type": "integer", "description": "The user's capacity on Friday, in seconds.", "format": "int32", "example": 28800 }, "sat": { "type": "integer", "description": "The user's capacity on Saturday, in seconds.", "format": "int32", "example": 0 }, "sun": { "type": "integer", "description": "The user's capacity on Sunday, in seconds.", "format": "int32", "example": 0 } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this user capacity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user capacity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user capacity was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the user capacity.", "format": "uuid" }, "capacityPerWeek": { "type": "integer", "description": "The capacity of the user per week, in seconds.", "format": "int32", "readOnly": true, "example": 126000, "deprecated": true } }, "additionalProperties": false, "description": "The user capacity model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "put": { "tags": [ "UserCapacity" ], "summary": "Updates the capacity of the specified user.", "description": "Updates the capacity of the user with the specified id.\r\nUser planning data or admin permissions are required if the capacity of the specified user\r\ndoes not belong to the calling user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The new user capacity values.", "content": { "application/json": { "schema": { "type": "object", "properties": { "capacityPerWeek": { "type": "integer", "description": "Backward compatibility property.\r\nThe capacity of the user per week, in seconds.\r\nIf this value is null, and all the daily values are null as well, then the default value will be set to the default\r\nvalue.", "format": "int32", "nullable": true, "example": 126000, "deprecated": true }, "mon": { "type": "integer", "description": "The user's capacity on Monday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "tue": { "type": "integer", "description": "The user's capacity on Tuesday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "wed": { "type": "integer", "description": "The user's capacity on Wednesday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "thu": { "type": "integer", "description": "The user's capacity on Thursday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "fri": { "type": "integer", "description": "The user's capacity on Friday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "sat": { "type": "integer", "description": "The user's capacity on Saturday, in seconds.", "format": "int32", "nullable": true, "example": 0 }, "sun": { "type": "integer", "description": "The user's capacity on Sunday, in seconds.", "format": "int32", "nullable": true, "example": 0 } }, "additionalProperties": false, "description": "The user capacity form." } }, "application/*+json": { "schema": { "type": "object", "properties": { "capacityPerWeek": { "type": "integer", "description": "Backward compatibility property.\r\nThe capacity of the user per week, in seconds.\r\nIf this value is null, and all the daily values are null as well, then the default value will be set to the default\r\nvalue.", "format": "int32", "nullable": true, "example": 126000, "deprecated": true }, "mon": { "type": "integer", "description": "The user's capacity on Monday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "tue": { "type": "integer", "description": "The user's capacity on Tuesday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "wed": { "type": "integer", "description": "The user's capacity on Wednesday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "thu": { "type": "integer", "description": "The user's capacity on Thursday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "fri": { "type": "integer", "description": "The user's capacity on Friday, in seconds.", "format": "int32", "nullable": true, "example": 28800 }, "sat": { "type": "integer", "description": "The user's capacity on Saturday, in seconds.", "format": "int32", "nullable": true, "example": 0 }, "sun": { "type": "integer", "description": "The user's capacity on Sunday, in seconds.", "format": "int32", "nullable": true, "example": 0 } }, "additionalProperties": false, "description": "The user capacity form." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user this capacity belongs to.", "format": "uuid" }, "weeklyCapacity": { "type": "object", "properties": { "mon": { "type": "integer", "description": "The user's capacity on Monday, in seconds.", "format": "int32", "example": 28800 }, "tue": { "type": "integer", "description": "The user's capacity on Tuesday, in seconds.", "format": "int32", "example": 28800 }, "wed": { "type": "integer", "description": "The user's capacity on Wednesday, in seconds.", "format": "int32", "example": 28800 }, "thu": { "type": "integer", "description": "The user's capacity on Thursday, in seconds.", "format": "int32", "example": 28800 }, "fri": { "type": "integer", "description": "The user's capacity on Friday, in seconds.", "format": "int32", "example": 28800 }, "sat": { "type": "integer", "description": "The user's capacity on Saturday, in seconds.", "format": "int32", "example": 0 }, "sun": { "type": "integer", "description": "The user's capacity on Sunday, in seconds.", "format": "int32", "example": 0 } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this user capacity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user capacity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user capacity was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the user capacity.", "format": "uuid" }, "capacityPerWeek": { "type": "integer", "description": "The capacity of the user per week, in seconds.", "format": "int32", "readOnly": true, "example": 126000, "deprecated": true } }, "additionalProperties": false, "description": "The user capacity model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/me": { "get": { "tags": [ "Users" ], "summary": "Returns the currently logged-in user and workspace.", "description": "Returns the currently logged-in user, including workspace information.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" }, "id": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "status": { "type": "object", "properties": { "invitationAccepted": { "type": "boolean", "description": "Flag if the user in this workspace accepted the invitation." }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated." } }, "additionalProperties": false, "description": "The status of the user." }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether this user is archived.\r\nArchived users are automatically inactive and only exist for reference purposes.", "example": false }, "isDeactivated": { "type": "boolean", "description": "Whether the user has been deactivated.", "example": false }, "deactivatedOn": { "type": "string", "description": "The date the user was deactivated.", "format": "date-time", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the user has uploaded a profile image.", "example": true }, "userContactInfos": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." }, "description": "The contact information assigned to this user.", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of this user.", "nullable": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the user is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true }, "accountId": { "type": "string", "description": "The account id of the user.\r\nOnly used internally.", "format": "uuid", "nullable": true }, "workspace": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the current workspace.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the current workspace.", "nullable": true, "example": "NCNSTN" }, "url": { "type": "string", "description": "The default URL of the current workspace.", "nullable": true, "example": "https://ncnstn.awork.com" } }, "additionalProperties": false, "description": "The user's current workspace model." } }, "additionalProperties": false, "description": "The user and workspace model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/comments": { "get": { "tags": [ "Comments" ], "summary": "Returns all comments of the project with the specified id.", "description": "Returns all comments of the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } } }, "post": { "tags": [ "Comments" ], "summary": "Creates a new comment on the project with the specified id.", "description": "Creates a new comment on the project with the specified id.\r\nThe user needs read permissions on the project to create a comment.\r\nA user can only create a comment for him/herself, except for admins and api users.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to create a comment.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "maxLength": 65000, "type": "string", "description": "The message of the comment.\r\nRequired.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "userId": { "type": "string", "description": "The id of the user who created the comment.\r\nOptional. If not set, defaults to the current user.", "format": "uuid", "nullable": true }, "previews": { "type": "array", "items": { "type": "string" }, "description": "The preview URLs to show a preview for.", "nullable": true, "example": [ "https://www.awork.com/en/blog/automatic-project-management/" ] }, "id": { "type": "string", "description": "The id of the comment.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the entity of the comment.\r\nRequired.", "format": "uuid" }, "entityType": { "type": "string", "description": "The type of the entity of the comment.\r\nCan be \"projects\", \"tasks\".\r\nRequired.", "nullable": true, "example": "tasks" }, "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" }, "mentions": { "type": "object", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "All users, which has been mentioned on the comment.", "nullable": true }, "everyUserHadPermissions": { "type": "boolean", "description": "If every user was able to receive the mention notification. If not, one of the users had no permissions to.", "example": true } }, "additionalProperties": false, "description": "A mention is the tag of a user on a specific comment, so the user is notified." }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "All users ids that reacted with the emoji.", "format": "uuid" }, "emoji": { "type": "string", "description": "The emoji used as a reaction.", "nullable": true, "example": "đź‘Ť" } }, "additionalProperties": false, "description": "The users reactions to a comment." }, "description": "The reactions on a comment.", "nullable": true }, "formattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is styled with html.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "plainFormattedMessage": { "type": "string", "description": "The formatted and proccessed version of the comment message. E.g. mentions are in a human readable format.\r\nThe formatted comment message is not styled.", "nullable": true, "example": "Hey team, the customer loved the latest designs!" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The comment model." } } } } } }, "delete": { "tags": [ "Comments" ], "summary": "Deletes all comments of the specified project.", "description": "Deletes all comments of the specified project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/users/tags": { "get": { "tags": [ "UserTags" ], "summary": "Returns all tags that are currently in use.", "description": "Returns all tags that are currently in use ordered by count.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/tags": { "get": { "tags": [ "UserTags" ], "summary": "Returns the tags of the users with the specified id.", "description": "Returns the tags of the user with the specified id ordered by name.\r\nTo read the tags the user needs 'read' permissions on the specified user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/settings/projects/{projectId}/{key}": { "get": { "tags": [ "Users" ], "summary": "Returns the project setting with the key for the current user.", "description": "Returns the project setting with the key for the current user.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the related entity. Required when EntityName is set.", "format": "uuid", "nullable": true }, "entityName": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The name of the related entity. Required when EntityId is set.", "nullable": true, "example": "users" }, "key": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique key. Required.", "nullable": true, "example": "onboarding-complete" }, "value": { "type": "string", "description": "The value of the setting.", "nullable": true, "example": "true" }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The user setting model." } } } } } }, "delete": { "tags": [ "Users" ], "summary": "Deletes the project setting with the specified key for the current user.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "204": { "description": "No Content" } } } }, "/me/settings/tasks/{taskId}/{key}": { "get": { "tags": [ "Users" ], "summary": "Returns the task setting with the key for the current user.", "description": "Returns the task setting with the key for the current user.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the related entity. Required when EntityName is set.", "format": "uuid", "nullable": true }, "entityName": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The name of the related entity. Required when EntityId is set.", "nullable": true, "example": "users" }, "key": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique key. Required.", "nullable": true, "example": "onboarding-complete" }, "value": { "type": "string", "description": "The value of the setting.", "nullable": true, "example": "true" }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The user setting model." } } } } } }, "delete": { "tags": [ "Users" ], "summary": "Deletes the task setting with the specified key for the current user.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "204": { "description": "No Content" } } } }, "/me/settings/taskviews/{taskviewId}/{key}": { "get": { "tags": [ "Users" ], "summary": "Returns the taskview setting with the key for the current user.", "description": "Returns the taskview setting with the key for the current user.", "parameters": [ { "name": "taskviewId", "in": "path", "description": "The id of the taskview.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the related entity. Required when EntityName is set.", "format": "uuid", "nullable": true }, "entityName": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The name of the related entity. Required when EntityId is set.", "nullable": true, "example": "users" }, "key": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique key. Required.", "nullable": true, "example": "onboarding-complete" }, "value": { "type": "string", "description": "The value of the setting.", "nullable": true, "example": "true" }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The user setting model." } } } } } }, "delete": { "tags": [ "Users" ], "summary": "Deletes the taskview setting with the specified key for the current user.", "parameters": [ { "name": "taskviewId", "in": "path", "description": "The id of the taskview.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "204": { "description": "No Content" } } } }, "/me/settings/users/{userId}/{key}": { "get": { "tags": [ "Users" ], "summary": "Returns the user setting with the key for the current user.", "description": "Returns the user setting with the key for the current user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the related entity. Required when EntityName is set.", "format": "uuid", "nullable": true }, "entityName": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The name of the related entity. Required when EntityId is set.", "nullable": true, "example": "users" }, "key": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique key. Required.", "nullable": true, "example": "onboarding-complete" }, "value": { "type": "string", "description": "The value of the setting.", "nullable": true, "example": "true" }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The user setting model." } } } } } }, "delete": { "tags": [ "Users" ], "summary": "Deletes the user setting with the specified key for the current user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "204": { "description": "No Content" } } } }, "/me/settings/companies/{companyId}/{key}": { "get": { "tags": [ "Users" ], "summary": "Returns the company setting with the key for the current user.", "description": "Returns the company setting with the key for the current user.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the related entity. Required when EntityName is set.", "format": "uuid", "nullable": true }, "entityName": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The name of the related entity. Required when EntityId is set.", "nullable": true, "example": "users" }, "key": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique key. Required.", "nullable": true, "example": "onboarding-complete" }, "value": { "type": "string", "description": "The value of the setting.", "nullable": true, "example": "true" }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The user setting model." } } } } } }, "delete": { "tags": [ "Users" ], "summary": "Deletes the company setting with the specified key for the current user.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "key", "in": "path", "description": "The key of the user setting.", "required": true, "schema": { "type": "string" }, "example": "onboarding-completed" }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "204": { "description": "No Content" } } } }, "/absences": { "get": { "tags": [ "Absences" ], "summary": "Returns all absences of all users.\r\nAdmin or user planning data permissions are required,\r\notherwise only the absences of the current user are returned.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid", "nullable": true }, "startOn": { "type": "string", "description": "The start time of the absence.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "type": "string", "description": "The external provider for the absence.", "nullable": true }, "deletedOn": { "type": "string", "description": "The date the absence was deleted.", "format": "date-time", "nullable": true }, "deletedBy": { "type": "string", "description": "The id of the user that deleted the absence.", "format": "uuid", "nullable": true }, "isReadOnly": { "type": "boolean", "description": "If it's true it means that this Absence is read-only and cannot be edited/deleted by the user.", "readOnly": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period.", "readOnly": true }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period.", "readOnly": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "post": { "tags": [ "Absences" ], "summary": "Creates a new absence.\r\nUser planning data permissions are required if the calling user\r\nis not the owner of the absence or admin.", "description": "The startOn and endOn get rounded to 00:00:00, 12:00:00, or 23:59:59 in UTC.\r\nThese values can be used to set a half-day (pre or post mid-day) absence, or absences that start or end at mid-day.\r\nThe end date needs to be the same or after the start date.", "requestBody": { "description": "The absence to create.", "content": { "application/json": { "schema": { "required": [ "endOn", "startOn", "userId" ], "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid" }, "startOn": { "type": "string", "description": "The start time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The external provider for the absence.", "nullable": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period." }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period." }, "isSingleDayAbsence": { "type": "boolean", "readOnly": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "endOn", "startOn", "userId" ], "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid" }, "startOn": { "type": "string", "description": "The start time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The external provider for the absence.", "nullable": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period." }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period." }, "isSingleDayAbsence": { "type": "boolean", "readOnly": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid", "nullable": true }, "startOn": { "type": "string", "description": "The start time of the absence.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "type": "string", "description": "The external provider for the absence.", "nullable": true }, "deletedOn": { "type": "string", "description": "The date the absence was deleted.", "format": "date-time", "nullable": true }, "deletedBy": { "type": "string", "description": "The id of the user that deleted the absence.", "format": "uuid", "nullable": true }, "isReadOnly": { "type": "boolean", "description": "If it's true it means that this Absence is read-only and cannot be edited/deleted by the user.", "readOnly": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period.", "readOnly": true }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period.", "readOnly": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/absences/{absenceId}": { "get": { "tags": [ "Absences" ], "summary": "Returns the absence with the specified id.\r\nUser planning data permissions are required if the calling user\r\nis not the owner of the absence or admin.", "parameters": [ { "name": "absenceId", "in": "path", "description": "The id of the absence to get.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid", "nullable": true }, "startOn": { "type": "string", "description": "The start time of the absence.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "type": "string", "description": "The external provider for the absence.", "nullable": true }, "deletedOn": { "type": "string", "description": "The date the absence was deleted.", "format": "date-time", "nullable": true }, "deletedBy": { "type": "string", "description": "The id of the user that deleted the absence.", "format": "uuid", "nullable": true }, "isReadOnly": { "type": "boolean", "description": "If it's true it means that this Absence is read-only and cannot be edited/deleted by the user.", "readOnly": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period.", "readOnly": true }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period.", "readOnly": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "put": { "tags": [ "Absences" ], "summary": "Updates the absence with the specified id.\r\nUser planning data permissions are required if the calling user\r\nis not the owner of the absence or admin.", "description": "The startOn and endOn get rounded to 00:00:00, 12:00:00, or 23:59:59 in UTC.\r\nThese values can be used to set a half-day (pre or post mid-day) absence, or absences that start or end at mid-day.\r\nThe end date needs to be the same or after the start date.", "parameters": [ { "name": "absenceId", "in": "path", "description": "The id of the absence to update.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model with the updated values.", "content": { "application/json": { "schema": { "required": [ "endOn", "startOn", "userId" ], "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid" }, "startOn": { "type": "string", "description": "The start time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The external provider for the absence.", "nullable": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period." }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period." }, "isSingleDayAbsence": { "type": "boolean", "readOnly": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "endOn", "startOn", "userId" ], "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid" }, "startOn": { "type": "string", "description": "The start time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.\r\nThe time of the date will be ignored.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The external provider for the absence.", "nullable": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period." }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence to create is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period." }, "isSingleDayAbsence": { "type": "boolean", "readOnly": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user to create the absence for.", "format": "uuid", "nullable": true }, "startOn": { "type": "string", "description": "The start time of the absence.", "format": "date-time", "example": "2022-03-01T00:00:00Z" }, "endOn": { "type": "string", "description": "The end time of the absence.", "format": "date-time", "example": "2022-03-03T00:00:00Z" }, "description": { "type": "string", "description": "The reason for the absence.", "nullable": true, "example": "Workation by the beach" }, "externalProvider": { "type": "string", "description": "The external provider for the absence.", "nullable": true }, "deletedOn": { "type": "string", "description": "The date the absence was deleted.", "format": "date-time", "nullable": true }, "deletedBy": { "type": "string", "description": "The id of the user that deleted the absence.", "format": "uuid", "nullable": true }, "isReadOnly": { "type": "boolean", "description": "If it's true it means that this Absence is read-only and cannot be edited/deleted by the user.", "readOnly": true }, "isHalfDayOnStart": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the first half of the workday.\r\nIf it's a multi day absence it started on the second half of the first day of the absence period.", "readOnly": true }, "isHalfDayOnEnd": { "type": "boolean", "description": "If it's true and it's a single day absence means that the absence is for the second half of the workday.\r\nIf it's a multi day absence it ended on the first half of the last day of the absence period.", "readOnly": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "delete": { "tags": [ "Absences" ], "summary": "Deletes the absence with the specified id.\r\nUser planning data permissions are required if the calling user\r\nis not the owner of the absence or admin.", "parameters": [ { "name": "absenceId", "in": "path", "description": "The id of the absence to delete.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/apiusers": { "post": { "tags": [ "ApiUsers" ], "summary": "Creates a new API user.", "description": "Creates a new API user.\r\nBeware: API users will also be returned in the /users response when including\r\narchived users.", "requestBody": { "description": "The API user to create.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the API user.", "nullable": true, "example": "awork Connector" }, "roleId": { "type": "string", "description": "The role the user should be in.\r\nIf no role is specified, the user will become an admin.", "format": "uuid", "nullable": true }, "clientId": { "type": "string", "description": "The client id this API user belongs to.", "nullable": true, "example": "awork-connector" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the API user.", "nullable": true, "example": "awork Connector" }, "roleId": { "type": "string", "description": "The role the user should be in.\r\nIf no role is specified, the user will become an admin.", "format": "uuid", "nullable": true }, "clientId": { "type": "string", "description": "The client id this API user belongs to.", "nullable": true, "example": "awork-connector" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the API user.", "nullable": true, "example": "awork Connector" }, "roleId": { "type": "string", "description": "The role the user should be in.\r\nIf no role is specified, the user will become an admin.", "format": "uuid", "nullable": true }, "clientId": { "type": "string", "description": "The client id this API user belongs to.", "nullable": true, "example": "awork-connector" }, "id": { "type": "string", "description": "The id of the API user.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] } }, "/apiusers/{apiUserId}": { "put": { "tags": [ "ApiUsers" ], "summary": "Updates the API user with the specified id.", "description": "Updates the API user with the specified id.", "parameters": [ { "name": "apiUserId", "in": "path", "description": "The id of the API user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The new API user values.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the API user.", "nullable": true, "example": "awork Connector" }, "roleId": { "type": "string", "description": "The role the user should be in.\r\nIf no role is specified, the user will become an admin.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the API user.", "nullable": true, "example": "awork Connector" }, "roleId": { "type": "string", "description": "The role the user should be in.\r\nIf no role is specified, the user will become an admin.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the API user.", "nullable": true, "example": "awork Connector" }, "roleId": { "type": "string", "description": "The role the user should be in.\r\nIf no role is specified, the user will become an admin.", "format": "uuid", "nullable": true }, "clientId": { "type": "string", "description": "The client id this API user belongs to.", "nullable": true, "example": "awork-connector" }, "id": { "type": "string", "description": "The id of the API user.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "delete": { "tags": [ "ApiUsers" ], "summary": "Deletes the API user with the specified id.", "description": "Deletes the API user with the specified id.", "parameters": [ { "name": "apiUserId", "in": "path", "description": "The id of the API user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] } }, "/users/{userId}/assignedtasks/{taskId}": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns the assigned task with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required on the /me endpoint.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/assignedtasks/{taskId}": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns the assigned task with the specified id.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required on the /me endpoint.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/assignedtasks": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns all tasks assigned to the user.", "description": "Returns all tasks assigned to a user.\r\nIf a user gets his own tasks, the private tasks are part of the result as well.\r\nIf you need only tasks of projects in status 'progress', set the 'inProgress' parameter to 'true'.\r\nThe assigned on from and to parameters are optional, but both must be provided if you want to use the filter.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required on the /me endpoint.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inProgress", "in": "query", "description": "Whether the project of a task is in progress or not.", "schema": { "type": "boolean", "default": false } }, { "name": "assignedOnFrom", "in": "query", "description": "The value to filter the task assignments for. If this value is set, tasks are returned\r\nonly when the assignment date for the provided userId is greater or equal.", "schema": { "type": "string", "format": "date-time" } }, { "name": "assignedOnTo", "in": "query", "description": "The value to filter the task assignments for. If this value is set, tasks are returned only\r\nwhen the assignment date for the provided userId is less or equal.", "schema": { "type": "string", "format": "date-time" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/assignedtasks": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns all tasks assigned to the user.", "description": "Returns all tasks assigned to a user.\r\nIf a user gets his own tasks, the private tasks are part of the result as well.\r\nIf you need only tasks of projects in status 'progress', set the 'inProgress' parameter to 'true'.\r\nThe assigned on from and to parameters are optional, but both must be provided if you want to use the filter.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required on the /me endpoint.", "schema": { "type": "string", "format": "uuid" } }, { "name": "inProgress", "in": "query", "description": "Whether the project of a task is in progress or not.", "schema": { "type": "boolean", "default": false } }, { "name": "assignedOnFrom", "in": "query", "description": "The value to filter the task assignments for. If this value is set, tasks are returned\r\nonly when the assignment date for the provided userId is greater or equal.", "schema": { "type": "string", "format": "date-time" } }, { "name": "assignedOnTo", "in": "query", "description": "The value to filter the task assignments for. If this value is set, tasks are returned only\r\nwhen the assignment date for the provided userId is less or equal.", "schema": { "type": "string", "format": "date-time" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/allavailabletasks": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns all tasks the user is allowed to see.", "description": "Returns all tasks the user is allowed to see. This contains\r\nproject tasks if the user has \"project-planning\" permissions,\r\nall assigned tasks and also\r\nprivate tasks created by the user and assigned to other users.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required on the /me endpoint.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/allavailabletasks": { "get": { "tags": [ "AssignedTasks" ], "summary": "Returns all tasks the user is allowed to see.", "description": "Returns all tasks the user is allowed to see. This contains\r\nproject tasks if the user has \"project-planning\" permissions,\r\nall assigned tasks and also\r\nprivate tasks created by the user and assigned to other users.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required on the /me endpoint.", "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/checklistitems/tosubtasks": { "post": { "tags": [ "ChecklistItems" ], "summary": "Convert all the checklist items of the specified task to subtasks.", "description": "", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task containing the checklist items to convert.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/checklistitems": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist items for a task with the specified id.", "description": "The required permissions depend on the base type of the task.\r\nIf the task is a project task, either 'read' permissions on the 'project-planning-data' feature are required or the\r\nuser needs to be assigned.\r\nFor a user's private task, no special permissions are required.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ChecklistItems" ], "summary": "Creates a checklist item for a task with the specified id.", "description": "The required permissions depend on the base type of the task.\r\nIf the task is a project task, either 'write' permissions on the 'project-master-data' feature are required or the user\r\nneeds to be assigned.\r\nFor a user's private task, no special permissions are required.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create the checklist item.", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/checklistitems/{checklistItemId}": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist item for a task with the specified id.", "description": "The required permissions depend on the base type of the task.\r\nIf the task is a project task, either 'read' permissions on the 'project-planning-data' feature are required or the\r\nuser needs to be assigned.\r\nFor a user's private task, no special permissions are required.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ChecklistItems" ], "summary": "Updates a checklist item for a task with the specified id.", "description": "The required permissions depend on the base type of the task.\r\nIf the task is a project task, either 'write' permissions on the 'project-master-data' feature are required or the user\r\nneeds to be assigned.\r\nFor a user's private task, no special permissions are required.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the checklist item.", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "ChecklistItems" ], "summary": "Deletes a checklist item for a task with the specified id.", "description": "The required permissions depend on the base type of the task.\r\nIf the task is a project task, either 'write' permissions on the 'project-master-data' feature are required or the user\r\nneeds to be assigned.\r\nFor a user's private task, no special permissions are required.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/projecttasks/{taskId}/checklistitems": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist items for a project task with the specified id.", "description": "To retrieve the checklist items of a project task either 'read' permissions on the 'project-planning-data' feature are\r\nrequired or the user needs to be assigned.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/projecttasks/{taskId}/checklistitems/{checklistItemId}": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns a checklist item for a project task with the specified id.", "description": "To retrieve the checklist item of a project task either 'read' permissions on the 'project-planning-data' feature are\r\nrequired\r\nor the user needs to be assigned.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/privatetasks/{taskId}/checklistitems": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist for a private task with the specified id.", "description": "The user needs to be assigned to the task.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/privatetasks/{taskId}/checklistitems": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist for a private task with the specified id.", "description": "The user needs to be assigned to the task.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/privatetasks/{taskId}/checklistitems/{checklistItemId}": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns a checklist item for a private task with the specified id.", "description": "The user needs to be assigned to the task.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/privatetasks/{taskId}/checklistitems/{checklistItemId}": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns a checklist item for a private task with the specified id.", "description": "The user needs to be assigned to the task.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/otherprivatetasks/{taskId}/checklistitems": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist items for a private task with the specified id.", "description": "The user needs to be the creator of the task.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/otherprivatetasks/{taskId}/checklistitems": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns the checklist items for a private task with the specified id.", "description": "The user needs to be the creator of the task.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/otherprivatetasks/{taskId}/checklistitems/{checklistItemId}": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns a checklist item for a private task with the specified id.", "description": "The user needs to be the creator of the task.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/otherprivatetasks/{taskId}/checklistitems/{checklistItemId}": { "get": { "tags": [ "ChecklistItems" ], "summary": "Returns a checklist item for a private task with the specified id.", "description": "The user needs to be the creator of the task.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemId", "in": "path", "description": "The id of the checklist item.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-12T11:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-14T11:31:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this checklist item.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/companies": { "get": { "tags": [ "Companies" ], "summary": "Returns all companies.", "description": "Returns all companies.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" }, "id": { "type": "string", "description": "The id of the company.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the company has an image.", "example": true }, "companyContactInfos": { "type": "array", "items": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" }, "description": "The company infos assigned to this company.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this company.", "nullable": true }, "projectsCount": { "type": "integer", "description": "The number of all projects related to the company.", "format": "int32", "example": 3 }, "projectsInProgressCount": { "type": "integer", "description": "The number of all projects in status 'progress' related to the company.", "format": "int32", "example": 2 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The GET company model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "read" ] }, "post": { "tags": [ "Companies" ], "summary": "Creates a new company.", "description": "Creates a new company.", "requestBody": { "description": "The company to create.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" } }, "additionalProperties": false, "description": "The POST/PUT company model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" } }, "additionalProperties": false, "description": "The POST/PUT company model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" }, "id": { "type": "string", "description": "The id of the company.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the company has an image.", "example": true }, "companyContactInfos": { "type": "array", "items": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" }, "description": "The company infos assigned to this company.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this company.", "nullable": true }, "projectsCount": { "type": "integer", "description": "The number of all projects related to the company.", "format": "int32", "example": 3 }, "projectsInProgressCount": { "type": "integer", "description": "The number of all projects in status 'progress' related to the company.", "format": "int32", "example": 2 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The GET company model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "write" ] } }, "/companies/{companyId}": { "get": { "tags": [ "Companies" ], "summary": "Returns the company with the specified id.", "description": "Returns the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" }, "id": { "type": "string", "description": "The id of the company.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the company has an image.", "example": true }, "companyContactInfos": { "type": "array", "items": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" }, "description": "The company infos assigned to this company.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this company.", "nullable": true }, "projectsCount": { "type": "integer", "description": "The number of all projects related to the company.", "format": "int32", "example": 3 }, "projectsInProgressCount": { "type": "integer", "description": "The number of all projects in status 'progress' related to the company.", "format": "int32", "example": 2 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The GET company model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "read" ] }, "put": { "tags": [ "Companies" ], "summary": "Updates the company with the specified id.", "description": "Updates the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The new company values.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" } }, "additionalProperties": false, "description": "The POST/PUT company model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" } }, "additionalProperties": false, "description": "The POST/PUT company model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company name. Required.", "nullable": true, "example": "NCNSTN Brand Design" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The company description. Optional.", "nullable": true, "example": "A small agency with a team of around 20 people, located in the heart of Berlin" }, "industry": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The company's industry. Optional.", "nullable": true, "example": "Brand Agency" }, "id": { "type": "string", "description": "The id of the company.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the company has an image.", "example": true }, "companyContactInfos": { "type": "array", "items": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" }, "description": "The company infos assigned to this company.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this company.", "nullable": true }, "projectsCount": { "type": "integer", "description": "The number of all projects related to the company.", "format": "int32", "example": 3 }, "projectsInProgressCount": { "type": "integer", "description": "The number of all projects in status 'progress' related to the company.", "format": "int32", "example": 2 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The GET company model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "write" ] } }, "/companies/{companyId}/delete": { "post": { "tags": [ "Companies" ], "summary": "Deletes the company with the specified id.", "description": "There are several ways to delete a company.\r\nLook into the property description of the post model to get detailed information.\r\nIf the post is executed without a model, the default process 'delete-only-company' will be executed.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "requestBody": { "description": "The data to delete the company.", "content": { "application/json": { "schema": { "type": "object", "properties": { "moveToCompany": { "type": "string", "description": "Moves all related objects to this company.\r\nRelated projects and tasks (including their time entries) will be connected to this company.\r\nHave to set if 'DeleteOperation' contains 'move'.", "format": "uuid", "nullable": true }, "deleteOperation": { "type": "string", "description": "Defines the operation to delete a company.\r\nPossible operations are\r\n'move': Move related objects to another company.\r\n'delete-only-company': Delete only the company. Related objects loose the company information.\r\n'delete-all-without-timeentries': Delete all related objects apart from time entries.\r\n'delete-all': Delete all.", "nullable": true, "example": "delete-all" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "moveToCompany": { "type": "string", "description": "Moves all related objects to this company.\r\nRelated projects and tasks (including their time entries) will be connected to this company.\r\nHave to set if 'DeleteOperation' contains 'move'.", "format": "uuid", "nullable": true }, "deleteOperation": { "type": "string", "description": "Defines the operation to delete a company.\r\nPossible operations are\r\n'move': Move related objects to another company.\r\n'delete-only-company': Delete only the company. Related objects loose the company information.\r\n'delete-all-without-timeentries': Delete all related objects apart from time entries.\r\n'delete-all': Delete all.", "nullable": true, "example": "delete-all" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "write" ] } }, "/companies/{companyId}/contactinfo": { "get": { "tags": [ "Companies" ], "summary": "Returns the contact infos of the company with the specified id.", "description": "Returns the contact infos of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "read" ] }, "post": { "tags": [ "Companies" ], "summary": "Creates a new contact info for the company with the specified id.", "description": "Creates a new contact info for the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The contact info to create.", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } }, "application/*+json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "write" ] } }, "/companies/{companyId}/contactinfo/{contactInfoId}": { "get": { "tags": [ "Companies" ], "summary": "Returns the specified contact info of the company with the specified id.", "description": "Returns the specified contact info of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "contactInfoId", "in": "path", "description": "The id of the contact info.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "read" ] }, "put": { "tags": [ "Companies" ], "summary": "Updates the contact info for the company with the specified id.", "description": "Updates the contact info for the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "contactInfoId", "in": "path", "description": "The id of the contactInfo.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The contact info to update.", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } }, "application/*+json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: 'phone', 'email', 'address', 'custom'.", "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are:\r\nphone: [ 'central', 'other' ]\r\nemail: [ 'central', 'invoice', 'other' ]\r\naddress: [ 'central', 'invoice', 'other' ] url: [ 'primary', 'other']", "nullable": true, "example": "central" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first address line of the contact info.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contact info is an address. If it's an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a company" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "write" ] }, "delete": { "tags": [ "Companies" ], "summary": "Deletes the contact info of the company with the specified id.", "description": "Deletes the contact info of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "contactInfoId", "in": "path", "description": "The id of the contact info.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "write" ] } }, "/companies/industries": { "get": { "tags": [ "Companies" ], "summary": "Returns all company industries that are currently in use.", "description": "Returns all company industries that are currently in use.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-company-master-data": [ "read" ] } }, "/companies/{companyId}/addtags": { "post": { "tags": [ "CompanyTags" ], "summary": "Adds a batch of new tags to the company with the specified id.", "description": "The request fails if one of the tags is invalid (e.g. empty or duplicate).\r\nTo create the tags the user needs 'write' permissions on the specified company.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/companies/{companyId}/updatetags": { "post": { "tags": [ "CompanyTags" ], "summary": "Updates a tag to the company with the specified id.", "description": "To update the tag the user needs 'write' permissions on the specified entity.", "parameters": [ { "name": "companyId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/companies/{companyId}/deletetags": { "post": { "tags": [ "CompanyTags" ], "summary": "Removes tags from the company with the specified id.", "description": "Removes tags from the project with the specified id.\r\nTo delete the tags the user needs 'write' permissions on the specified company.\r\nReturns 204 NoContent if all tags have been removed successfully.\r\nReturns 207 MultiStatus if at least one tag could not be removed, including the reasons.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/companies/deletetags": { "post": { "tags": [ "CompanyTags" ], "summary": "Removes tag from all entities.", "description": "Removes tag from all projects.\r\nTo delete the tags the user needs 'write' permissions on the specified entity.\r\nReturns 204 NoContent if tag has been removed successfully.", "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the user with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/comments/{commentId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the comment with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/companies/{companyId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the company with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/permissions/projectfeatures": { "get": { "tags": [ "Permissions" ], "summary": "Returns all available project features.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/privatetasks": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns all private tasks of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/privatetasks": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns all private tasks of the user with the specified id.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/privatetasks/{taskId}": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns the private task with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/privatetasks/{taskId}": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns the private task with the specified id.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/otherprivatetasks": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns all private tasks that a user created and assigned to someone else.", "description": "Private tasks are always created for the current user but can be reassigned to other users afterwards.\r\nThis route returns all private tasks that were originally created by the user but were reassigned to someone else.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/otherprivatetasks": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns all private tasks that a user created and assigned to someone else.", "description": "Private tasks are always created for the current user but can be reassigned to other users afterwards.\r\nThis route returns all private tasks that were originally created by the user but were reassigned to someone else.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/otherprivatetasks/{taskId}": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns a private tasks that a user created and assigned to someone else.", "description": "Private tasks are always created for the current user but can be reassigned to other users afterwards.\r\nThis route returns all private tasks that were origianally created by the user but were reassigned to someone else.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required when using the /me route.", "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the private task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/otherprivatetasks/{taskId}": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns a private tasks that a user created and assigned to someone else.", "description": "Private tasks are always created for the current user but can be reassigned to other users afterwards.\r\nThis route returns all private tasks that were origianally created by the user but were reassigned to someone else.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required when using the /me route.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the private task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/privatetasks/taskstatuses": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns the task statuses for private tasks.", "description": "Returns the task statuses for private tasks.", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/privatetasks/taskstatuses": { "get": { "tags": [ "PrivateTasks" ], "summary": "Returns the task statuses for private tasks.", "description": "Returns the task statuses for private tasks.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projectmilestones": { "get": { "tags": [ "ProjectMilestones" ], "summary": "Returns all project milestones the user is allowed to see.", "description": "The user only gets returned all milestones of projects he has 'read' permissions\r\nof feature 'project-planning-data' for.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" }, "id": { "type": "string", "format": "uuid" }, "project": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectMilestones" ], "summary": "Creates a new project milestone.", "description": "The user needs 'write' permissions\r\nof feature 'project-planning-data' to get the data.", "requestBody": { "description": "The model to create a project milestone.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" }, "id": { "type": "string", "format": "uuid" }, "project": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projectmilestones/{projectMilestoneId}": { "put": { "tags": [ "ProjectMilestones" ], "summary": "Updates the project milestone with the specified id.", "description": "The user needs 'write' permissions\r\nof feature 'project-planning-data' to get the data.", "parameters": [ { "name": "projectMilestoneId", "in": "path", "description": "The id of the project milestone.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the project milestone.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the milestone.", "nullable": true, "example": "Internal Review" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the milestone.", "nullable": true, "example": "green" }, "dueDate": { "type": "string", "description": "The date the milestone is due.", "format": "date-time", "example": "2022-03-01T15:00:00Z" }, "projectId": { "type": "string", "description": "The id of the project the milestone is related to.", "format": "uuid" }, "id": { "type": "string", "format": "uuid" }, "project": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "ProjectMilestones" ], "summary": "Deletes the project milestone with the specified id.", "description": "The user needs 'write' permissions\r\nof feature 'project-planning-data' to get the data.", "parameters": [ { "name": "projectMilestoneId", "in": "path", "description": "The id of the project milestone.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projectroles": { "get": { "tags": [ "ProjectRoles" ], "summary": "Returns all project roles.", "description": "Returns all project roles.", "parameters": [ { "name": "includeMembers", "in": "query", "description": "If set, all the assigned members to that role a included in the response. Default is true.", "schema": { "type": "boolean", "default": true } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." }, "id": { "type": "string", "description": "The id of the project role. Required.", "format": "uuid" }, "memberCount": { "type": "integer", "description": "The count of members which are linked to this role.", "format": "int32", "example": 5 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members which are linked to this role.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectRoles" ], "summary": "Creates a new project role.", "description": "Creates a new project role.", "requestBody": { "description": "The model used to create a project role.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." }, "id": { "type": "string", "description": "The id of the project role. Required.", "format": "uuid" }, "memberCount": { "type": "integer", "description": "The count of members which are linked to this role.", "format": "int32", "example": 5 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members which are linked to this role.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/projectroles/{projectRoleId}": { "get": { "tags": [ "ProjectRoles" ], "summary": "Returns the project role with the specified id.", "description": "Returns the project role with the specified id.", "parameters": [ { "name": "projectRoleId", "in": "path", "description": "The id of the project role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." }, "id": { "type": "string", "description": "The id of the project role. Required.", "format": "uuid" }, "memberCount": { "type": "integer", "description": "The count of members which are linked to this role.", "format": "int32", "example": 5 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members which are linked to this role.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectRoles" ], "summary": "Updates the project role with the specified id.", "description": "Updates the project role with the specified id.", "parameters": [ { "name": "projectRoleId", "in": "path", "description": "The id of the project role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the project role with the specified id.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." }, "id": { "type": "string", "description": "The id of the project role. Required.", "format": "uuid" }, "memberCount": { "type": "integer", "description": "The count of members which are linked to this role.", "format": "int32", "example": 5 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members which are linked to this role.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/projectroles/{projectRoleId}/delete": { "post": { "tags": [ "ProjectRoles" ], "summary": "Deletes the project role with the specified id.", "description": "Deletes the project role with the specified id.\r\nWhen you want to delete a project role which is still in use,\r\nyou are required to specify which role the currently assigned members should be assigned to instead.\r\nIf the default role gets deleted, the migration role becomes the new default project role.", "parameters": [ { "name": "projectRoleId", "in": "path", "description": "The id of the project role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to delete the project role.", "content": { "application/json": { "schema": { "type": "object", "properties": { "newProjectRoleId": { "type": "string", "description": "The id of the new project role.\r\nNeeds to be set when there are still users in projects with the old project role.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "newProjectRoleId": { "type": "string", "description": "The id of the new project role.\r\nNeeds to be set when there are still users in projects with the old project role.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/projectroles/byuserid/{userId}": { "get": { "tags": [ "ProjectRoles" ], "summary": "Returns all project roles.", "description": "Returns all project roles.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project role. Required.", "example": "Project Manager" }, "isDefault": { "type": "boolean", "description": "Whether to use this role as default when adding new project members.", "nullable": true, "example": true }, "defaultProjectRoleId": { "type": "string", "description": "The id of the new default project role.\r\nRequired if the updated project role is the current default role.", "format": "uuid", "nullable": true }, "allowOnlyProjectMasterDataRead": { "type": "boolean", "description": "Whether this role is allowed to have only read permissions for project-master-data." }, "id": { "type": "string", "description": "The id of the project role. Required.", "format": "uuid" }, "memberCount": { "type": "integer", "description": "The count of members which are linked to this role.", "format": "int32", "example": 5 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members which are linked to this role.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projectroles/{projectRoleId}/permissions": { "get": { "tags": [ "ProjectRoles" ], "summary": "Returns all permissions of the project role with the specified id.", "parameters": [ { "name": "projectRoleId", "in": "path", "description": "The id of the project role.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] }, "id": { "type": "string", "description": "The id of the permission.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "read" ] }, "post": { "tags": [ "ProjectRoles" ], "summary": "Creates, updates or deletes a permission of a project role with the specified id.", "description": "Creates, updates or deletes a permission of the project role.\r\nIf the permission already exist, and the 'AccessLevels' property of the model is not empty,\r\nthe permission will be updated. If the 'AccessLevels' property of the model is empty,\r\nthe permission will be deleted.\r\nThe permission will be created if it does not exist.", "parameters": [ { "name": "projectRoleId", "in": "path", "description": "The id of the project role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the permissions.", "content": { "application/json": { "schema": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "feature": { "type": "string", "description": "The feature these permissions belong to.", "nullable": true, "example": "pmd" }, "accessLevels": { "type": "array", "items": { "type": "string" }, "description": "The access levels applied to this feature.", "nullable": true, "example": [ "read" ] }, "id": { "type": "string", "description": "The id of the permission.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projects": { "get": { "tags": [ "Projects" ], "summary": "Returns all projects.", "description": "Returns all projects the user has 'read' permissions\r\nof feature 'project-master-data' for.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "Projects" ], "summary": "Creates a new project.", "description": "Creates a new project.", "requestBody": { "description": "The model used to create a project.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "POST model for projects." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "POST model for projects." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-create": [ "write" ] } }, "/projects/{projectId}": { "get": { "tags": [ "Projects" ], "summary": "Returns the project with the specified id.", "description": "Returns the project with the specified id if the user has 'read' permissions\r\nof feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "Projects" ], "summary": "Updates the project with the specified id.", "description": "Updates the project with the specified id.\r\nThe user can update a project if he is the owner or\r\nhe needs 'write' permissions of the feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the project with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "PUT Model of projects." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "PUT Model of projects." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/changestatus": { "post": { "tags": [ "Projects" ], "summary": "Changes the status of the project with the specified id.", "description": "Changes the status of the project with the specified id.\r\nThe project status must be associated with the current project type.\r\nThis adds task bundles to the project and informs the project members about the status change.\r\nIf the project is already in the specified status, nothing happens.\r\nThe user can update a project if he is the owner or\r\nhe needs 'write' permissions of the feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the project status.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the project status to change to. Required.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the project status to change to. Required.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/changeprojecttype": { "post": { "tags": [ "Projects" ], "summary": "Changes the project type of the project with the specified id.", "description": "The user can update a project if he is the owner or\r\nhe needs 'write' permissions of the feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the project type.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectTypeId": { "type": "string", "description": "The id of the project type to change to.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectTypeId": { "type": "string", "description": "The id of the project type to change to.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/delete": { "post": { "tags": [ "Projects" ], "summary": "Deletes the project with the specified id.", "description": "Deletes the project with the specified id.\r\nIn the default case the related tasks of this project will\r\nalso be deleted and the related time trackings of this project and\r\nall tasks loose the relation to the deleted project and tasks.\r\nTo delete the time trackings as well, it is necessary to\r\nset the 'DeleteTimeTrackings' property of the post model to true.\r\nThe user can delete a project if he is the owner or\r\nhe needs 'write' permissions of the feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The data to delete the project.", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleteTimeTrackings": { "type": "boolean", "description": "Set to true to delete also the related time trackings.\r\nIf it is set to false the related time trackings are still there, but\r\nthe project and task reference will be cleared.\r\nThat will also happen if no request body is present.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "deleteTimeTrackings": { "type": "boolean", "description": "Set to true to delete also the related time trackings.\r\nIf it is set to false the related time trackings are still there, but\r\nthe project and task reference will be cleared.\r\nThat will also happen if no request body is present.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/members": { "get": { "tags": [ "Projects" ], "summary": "Returns the project members from the project with the specified id.", "description": "Returns the project members from the project with the specified id.\r\nThe user needs 'read' permissions of feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/addprojectmember": { "post": { "tags": [ "Projects" ], "summary": "Adds a project member to the project with the specified id.", "description": "Adds a project member to the project with the specified id.\r\nThe new project member can also be set as a responsible project member, but only if no other member of this project is\r\nresponsible.\r\nIt is necessary that the project role is available in this project otherwise the member cannot be added.\r\nA project role is available when they are connected to the specified project type of the project.\r\nA user can only be added to the project once.\r\nThe user needs 'manage' permissions of feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add the project member.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the member. Required.", "format": "uuid" }, "projectRoleId": { "type": "string", "description": "The id of the project role for this member. Required.", "format": "uuid" }, "isResponsible": { "type": "boolean", "description": "Whether the user should be marked as responsible. Required.", "example": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the member. Required.", "format": "uuid" }, "projectRoleId": { "type": "string", "description": "The id of the project role for this member. Required.", "format": "uuid" }, "isResponsible": { "type": "boolean", "description": "Whether the user should be marked as responsible. Required.", "example": false } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/updateprojectmember": { "post": { "tags": [ "Projects" ], "summary": "Updates a project member from the project with the specified id.", "description": "Changes the role of a project member.\r\nThe project member can also be set as a responsible project member, but only if no other member of this project is\r\nresponsible.\r\nIt is necessary that the project role is available in this project otherwise the member cannot be updated.\r\nA project role is available when they are connected to the specified project type of the project.\r\nThe user needs 'manage' permissions of feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the project member.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the member. Required.", "format": "uuid" }, "projectRoleId": { "type": "string", "description": "The id of the project role for this member. Required.", "format": "uuid" }, "isResponsible": { "type": "boolean", "description": "Whether the user should be marked as responsible. Required.", "example": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the member. Required.", "format": "uuid" }, "projectRoleId": { "type": "string", "description": "The id of the project role for this member. Required.", "format": "uuid" }, "isResponsible": { "type": "boolean", "description": "Whether the user should be marked as responsible. Required.", "example": false } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/removeprojectmember": { "post": { "tags": [ "Projects" ], "summary": "Removes a project member from the project with the specified id.", "description": "Removes a project member from the project with the specified id.\r\nThe user needs 'manage' permissions of feature 'project-master-data'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to remove the project member.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to remove from the project. Required.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to remove from the project. Required.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/welcomeproject": { "post": { "tags": [ "Projects" ], "summary": "Creates the preconfigured project in the language of the user.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The name of the Project. Required. Max allowed length: 25000 characters.", "nullable": true, "example": "Website Design" }, "isPrivate": { "type": "boolean", "description": "Whether this is a private project only visible to members and the creator.\r\nRequired. Defaults to false.\r\nCan only be changed from public to private if no times have been tracked on this project.\r\nCan always be made public.", "example": false }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "The project description. Max allowed length: 25000 characters.", "nullable": true, "example": "Sitemap, design, assets and implementation of the new online presence." }, "startDate": { "type": "string", "description": "The start date of the project.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "dueDate": { "type": "string", "description": "The due date of the project.", "format": "date-time", "nullable": true, "example": "2022-05-01T00:00:00Z" }, "companyId": { "type": "string", "description": "The id of the company.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The time budget the project has, in seconds.", "format": "int32", "nullable": true, "example": 576000 }, "isBillableByDefault": { "type": "boolean", "description": "Whether project times should be billable by default.", "nullable": true, "example": true }, "projectTypeId": { "type": "string", "description": "The id of the project type of this project.", "format": "uuid", "nullable": true }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the project for display purposes in awork.\r\nThe supported colors are defined by the awork frontend.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the template which is used to create the project.", "format": "uuid", "nullable": true }, "publicProjectTemplateId": { "type": "string", "description": "The id of the public template which is used to create the project.", "format": "uuid", "nullable": true }, "id": { "type": "string", "description": "Id of the project. Required.", "format": "uuid" }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the project was set to closed.", "format": "date-time", "nullable": true, "example": null }, "closedBy": { "type": "string", "description": "The user who closed the project.", "format": "uuid", "nullable": true, "example": null }, "createdByProjectTemplateId": { "type": "string", "description": "The id of the template the project was created from.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" }, "typeOrder": { "type": "integer", "description": "The order of the status type.", "format": "int32", "example": 1 }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "A brand strategy and design agency" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The tags of the company.", "nullable": true } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags for this project.", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The total planned time of the project, in seconds.\r\nThe time is calculated as te sum of the planned duration by all project tasks.", "format": "int64", "nullable": true, "example": 432000 }, "tasksCount": { "type": "integer", "description": "The number of all tasks related to the project.", "format": "int32", "nullable": true, "example": 12 }, "tasksDoneCount": { "type": "integer", "description": "The number of all tasks in status 'done' related to the project.", "format": "int32", "nullable": true, "example": 3 }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the project member entity.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user who is this project member.", "format": "uuid" }, "firstName": { "type": "string", "description": "The first name of the user.", "nullable": true, "example": "Lisa" }, "lastName": { "type": "string", "description": "The last name of the user.", "nullable": true, "example": "Smith" }, "hasImage": { "type": "boolean", "description": "Whether the user has an image.", "nullable": true, "example": true }, "projectRoleId": { "type": "string", "description": "The project role of the project member.", "format": "uuid" }, "projectRoleName": { "type": "string", "description": "The project role name of the project member.", "nullable": true, "example": "Project Manager" }, "isResponsible": { "type": "boolean", "description": "Whether the user is responsible for this project.", "example": true }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated.", "example": false }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false }, "description": "The members of this project.", "nullable": true }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this project.", "format": "int32", "nullable": true, "example": 72000 }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "/// This class contains all information to handle projects." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-create": [ "write" ] } }, "/projects/{projectId}/updateprojectstatusorder": { "post": { "tags": [ "Projects" ], "summary": "Updates the order of a project status.", "description": "Updates the order of a project status.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The project status with updated order.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid" }, "order": { "type": "integer", "description": "The order value which determines the position of the project status\r\nin the flow of the project type.\r\nOnly accepts 0 and positive values.\r\nFor independent statuses without successor and predecessor\r\nthis value is set to null.", "format": "int32", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid" }, "order": { "type": "integer", "description": "The order value which determines the position of the project status\r\nin the flow of the project type.\r\nOnly accepts 0 and positive values.\r\nFor independent statuses without successor and predecessor\r\nthis value is set to null.", "format": "int32", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projectstatuses/{projectStatusId}": { "get": { "tags": [ "ProjectStatuses" ], "summary": "Returns the project status with the specified id.", "description": "Returns the project status with the specified id.", "parameters": [ { "name": "projectStatusId", "in": "path", "description": "The id of the project status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectStatuses" ], "summary": "Updates the project status with the specified id.", "description": "Updates the project status with the specified id.", "parameters": [ { "name": "projectStatusId", "in": "path", "description": "The id of the project status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the project status.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project status. Required.", "nullable": true, "example": "In Progress" }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Specifies the general type of this project status.\r\nAccepted values: 'progress', 'not-started', 'closed', 'stuck\r\nRequired.", "nullable": true, "example": "progress" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The name of the project status. Required.", "nullable": true, "example": "In Progress" }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Specifies the general type of this project status.\r\nAccepted values: 'progress', 'not-started', 'closed', 'stuck\r\nRequired.", "nullable": true, "example": "progress" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projectstatuses": { "get": { "tags": [ "ProjectStatuses" ], "summary": "Returns all project statuses.", "description": "Returns all project statuses.", "parameters": [ { "name": "showArchived", "in": "query", "description": "Include archived statuses in the results. Not required. False by default.", "schema": { "type": "boolean", "default": false } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projectstatuses/{projectStatusId}/setarchived": { "post": { "tags": [ "ProjectStatuses" ], "summary": "Archives or unarchives the project status with the specified id.", "description": "Archives or unarchives the project status with the specified id.\r\nAn archived project status still exists for all projects currently using it,\r\nbut projects can no longer be moved to this status.", "parameters": [ { "name": "projectStatusId", "in": "path", "description": "The id of the status which will be changed.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to archive or unarchive the project type.", "content": { "application/json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projectstatuses/{projectStatusId}/delete": { "post": { "tags": [ "ProjectStatuses" ], "summary": "Deletes the project status with the specified id.", "description": "Deletes the project status with the specified id. If it was a status of a project and the project is currently having\r\nthat status, a new status needs to be passed.", "parameters": [ { "name": "projectStatusId", "in": "path", "description": "Id of the task status which will be deleted.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to delete the status.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the new project status to assign.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the new project status to assign.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projects/{projectId}/typeofwork": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns the type of work for the project with the specified id.\n .", "description": "The project can be a connected or a workspace project.\n User must have at least 'read' permissions on the 'project-planning-data' feature.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/projecttasks/{taskId}/changeproject": { "post": { "tags": [ "ProjectTasks" ], "summary": "Changes the project of the task with the specified id.", "description": "Changes the project of the task with the specified id.\n This call also moves all subtasks of the task to the new project.\n This also changes the tracked time sum of the new project and the previous project.\n The related time entries of this task will also be moved to the new project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the project of the task.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The id of the project the task is assigned to.", "format": "uuid" }, "taskStatusId": { "type": "string", "description": "The id of the new status the task is assigned to.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" }, "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/createtaskstatuses": { "post": { "tags": [ "ProjectTasks" ], "summary": "Creates new task statuses for the specified project.", "description": "Creates new task statuses from the project template for the the specified project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The form with the project template id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectTemplateId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectTemplateId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-planning-data": [ "write" ], "x-access-project-create": [ "write" ] } }, "/projects/{projectId}/taskstatuses": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns all task statuses of the project with the specified id.", "description": "Returns all task statuses of the project with the specified id.\r\nTo get the task statuses, the user need at least read permissions on feature Project-Master-Data.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectTasks" ], "summary": "Creates a new task status for the specified project.", "description": "Creates a new task status for the specified project.\r\nTo create the task status, the user need write permissions on feature Project-Planning.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create a new task status.", "content": { "application/json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/taskstatuses/{taskStatusId}": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns the task status of the project with the specified id.", "description": "Returns the task status of the project with the specified id.\r\nTo get the task status, the user need at least read permissions on feature Project-Master-Data.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskStatusId", "in": "path", "description": "The id of the task status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectTasks" ], "summary": "Updates a task status for the specified project.", "description": "Updates a task status for the specified project.\r\nTo update the task status, the user need write permissions on feature Project-Master-Data.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskStatusId", "in": "path", "description": "The id of the task status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update a task status.", "content": { "application/json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/taskstatuses/{taskStatusId}/delete": { "post": { "tags": [ "ProjectTasks" ], "summary": "Deletes the task status with the specified id.", "description": "Deletes the project's task status with the specified id.\r\nTo delete the task status, the user need write permissions on feature Project-Master-Data.\r\nIf the status still has related tasks, it's necessary to provide another task status\r\nto move the tasks to.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskStatusId", "in": "path", "description": "The id of the task status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to delete the task status.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskStatusId": { "type": "string", "description": "The id of the task status all related tasks will be changed to.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskStatusId": { "type": "string", "description": "The id of the task status all related tasks will be changed to.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttemplates/{projectTemplateId}/taskstatuses": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns all task statuses of the project template with the specified id.", "description": "Returns all task statuses of the project template with the specified id.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectTasks" ], "summary": "Creates a new task status for the specified project template.", "description": "Creates a new task status for the specified project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create a new task status.", "content": { "application/json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/taskstatuses/{taskStatusId}": { "get": { "tags": [ "ProjectTasks" ], "summary": "Returns the task status of the project template with the specified id.", "description": "Returns the task status of the project template with the specified id.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskStatusId", "in": "path", "description": "The id of the task status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectTasks" ], "summary": "Updates a task status for the specified project template.", "description": "Updates a task status for the specified project template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskStatusId", "in": "path", "description": "The id of the task status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update a task status.", "content": { "application/json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name", "type" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The name of the task status.", "example": "Conceptualization" }, "type": { "minLength": 1, "type": "string", "description": "Specifies the general type of this task status.\r\nAccepted values: 'todo', 'progress', 'review', 'stuck', 'done'.", "example": "progress" }, "order": { "type": "number", "description": "The order of the task status.\r\nIf it is null, the task status will be appended after the last task status.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "search" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] }, "delete": { "tags": [ "ProjectTasks" ], "summary": "Deletes the task status of the project template with the specified id.", "description": "Deletes the project task status with the specified id.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskStatusId", "in": "path", "description": "The id of the task status.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}": { "get": { "tags": [ "ProjectTemplates" ], "summary": "Returns the project template with the specified id.", "description": "Returns the project template with the specified id and the related statuses.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the template.", "nullable": true, "example": "Website Design Project" }, "description": { "type": "string", "description": "The description that will be used for the project created from this template.\r\nIt will be appended to the project description provided by the user.", "nullable": true, "example": "A website design project created from a template" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "isBillableByDefault": { "type": "string", "description": "Whether project times should be billable by default, if the project was created by this template.\r\nCan be 'on', 'off', or 'auto'.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "description": "The id references the task list, which is used to assign tasks created by email to.", "format": "uuid", "nullable": true }, "projectStatuses": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "description": "The project statuses of the template.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the project template has an image in the files service." }, "projectTypeId": { "type": "string", "description": "The id of the project type.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The amount of time budgeted for the project in seconds.", "format": "int32" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "ProjectTemplates" ], "summary": "Deletes the project template with the specified id.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] }, "put": { "tags": [ "ProjectTemplates" ], "summary": "Updates the project template with the specified id.", "description": "Updates the project template with the specified id.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the project template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "Name of the project template.", "nullable": true, "example": "Website Design Project" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "Description of the project template.", "nullable": true, "example": "A template used for all website design projects" }, "isBillableByDefault": { "type": "string", "description": "Whether the project should be billable by default. Can be 'on', 'off', or 'auto'.\r\nDefault is `auto`.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Project type id of the project template.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The POST / PUT project template model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "Name of the project template.", "nullable": true, "example": "Website Design Project" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "Description of the project template.", "nullable": true, "example": "A template used for all website design projects" }, "isBillableByDefault": { "type": "string", "description": "Whether the project should be billable by default. Can be 'on', 'off', or 'auto'.\r\nDefault is `auto`.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Project type id of the project template.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The POST / PUT project template model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the template.", "nullable": true, "example": "Website Design Project" }, "description": { "type": "string", "description": "The description that will be used for the project created from this template.\r\nIt will be appended to the project description provided by the user.", "nullable": true, "example": "A website design project created from a template" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "isBillableByDefault": { "type": "string", "description": "Whether project times should be billable by default, if the project was created by this template.\r\nCan be 'on', 'off', or 'auto'.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "description": "The id references the task list, which is used to assign tasks created by email to.", "format": "uuid", "nullable": true }, "projectStatuses": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "description": "The project statuses of the template.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the project template has an image in the files service." }, "projectTypeId": { "type": "string", "description": "The id of the project type.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The amount of time budgeted for the project in seconds.", "format": "int32" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates": { "get": { "tags": [ "ProjectTemplates" ], "summary": "Returns all existing project types.", "description": "Returns all existing project types.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the template.", "nullable": true, "example": "Website Design Project" }, "description": { "type": "string", "description": "The description that will be used for the project created from this template.\r\nIt will be appended to the project description provided by the user.", "nullable": true, "example": "A website design project created from a template" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "isBillableByDefault": { "type": "string", "description": "Whether project times should be billable by default, if the project was created by this template.\r\nCan be 'on', 'off', or 'auto'.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "description": "The id references the task list, which is used to assign tasks created by email to.", "format": "uuid", "nullable": true }, "projectStatuses": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "description": "The project statuses of the template.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the project template has an image in the files service." }, "projectTypeId": { "type": "string", "description": "The id of the project type.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The amount of time budgeted for the project in seconds.", "format": "int32" } }, "additionalProperties": false, "description": "The project type model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectTemplates" ], "summary": "Creates a new project template.", "description": "Creates a new project template.", "requestBody": { "description": "The model to create the project template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "Name of the project template.", "nullable": true, "example": "Website Design Project" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "Description of the project template.", "nullable": true, "example": "A template used for all website design projects" }, "isBillableByDefault": { "type": "string", "description": "Whether the project should be billable by default. Can be 'on', 'off', or 'auto'.\r\nDefault is `auto`.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Project type id of the project template.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The POST / PUT project template model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "Name of the project template.", "nullable": true, "example": "Website Design Project" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "Description of the project template.", "nullable": true, "example": "A template used for all website design projects" }, "isBillableByDefault": { "type": "string", "description": "Whether the project should be billable by default. Can be 'on', 'off', or 'auto'.\r\nDefault is `auto`.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Project type id of the project template.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The POST / PUT project template model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the template.", "nullable": true, "example": "Website Design Project" }, "description": { "type": "string", "description": "The description that will be used for the project created from this template.\r\nIt will be appended to the project description provided by the user.", "nullable": true, "example": "A website design project created from a template" }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" }, "isBillableByDefault": { "type": "string", "description": "Whether project times should be billable by default, if the project was created by this template.\r\nCan be 'on', 'off', or 'auto'.", "nullable": true, "example": "auto" }, "defaultTaskListIdForEmails": { "type": "string", "description": "The id references the task list, which is used to assign tasks created by email to.", "format": "uuid", "nullable": true }, "projectStatuses": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this project status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project status.", "nullable": true, "example": "In Progress" }, "type": { "type": "string", "description": "The general type of this project status.", "nullable": true, "example": "progress" }, "order": { "type": "integer", "description": "The order of this status.", "format": "int32", "nullable": true, "example": 2 }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "projectTemplateId": { "type": "string", "description": "The id of the project template of the status.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project the status belongs to.", "format": "uuid", "nullable": true }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "description": "The project statuses of the template.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the project template has an image in the files service." }, "projectTypeId": { "type": "string", "description": "The id of the project type.", "format": "uuid", "nullable": true }, "timeBudget": { "type": "integer", "description": "The amount of time budgeted for the project in seconds.", "format": "int32" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/updateprojectstatusorder": { "post": { "tags": [ "ProjectTemplates" ], "summary": "Updates the order of a project status.", "description": "Updates the order of a project status.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The project status with updated order.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid" }, "order": { "type": "integer", "description": "The order value which determines the position of the project status\r\nin the flow of the project type.\r\nOnly accepts 0 and positive values.\r\nFor independent statuses without successor and predecessor\r\nthis value is set to null.", "format": "int32", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectStatusId": { "type": "string", "description": "The id of the project status.", "format": "uuid" }, "order": { "type": "integer", "description": "The order value which determines the position of the project status\r\nin the flow of the project type.\r\nOnly accepts 0 and positive values.\r\nFor independent statuses without successor and predecessor\r\nthis value is set to null.", "format": "int32", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/taskbundle": { "get": { "tags": [ "ProjectTemplates" ], "summary": "Returns the task bundle id which is linked to the template.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskBundleId": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttypes/{projectTypeId}": { "get": { "tags": [ "ProjectTypes" ], "summary": "Returns the project type with the specified id.", "description": "Returns the project type with the specified id.", "parameters": [ { "name": "projectTypeId", "in": "path", "description": "The id of the project type.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" }, "isArchived": { "type": "boolean", "description": "Whether this type is archived.\r\nIt can no longer be used to create projects, but existing\r\nprojects will continue using it.", "example": false }, "isPreset": { "type": "boolean", "description": "Whether this type is one of the preset types.\r\nPreset types cannot be edited.", "example": false }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectTypes" ], "summary": "Updates the project type with the specified id.", "description": "Updates the project type with the specified id.", "parameters": [ { "name": "projectTypeId", "in": "path", "description": "The id of the project type.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the project type.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The names of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "A short description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" } }, "additionalProperties": false, "description": "The POST / PUT project type model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The names of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "A short description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" } }, "additionalProperties": false, "description": "The POST / PUT project type model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" }, "isArchived": { "type": "boolean", "description": "Whether this type is archived.\r\nIt can no longer be used to create projects, but existing\r\nprojects will continue using it.", "example": false }, "isPreset": { "type": "boolean", "description": "Whether this type is one of the preset types.\r\nPreset types cannot be edited.", "example": false }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttypes": { "get": { "tags": [ "ProjectTypes" ], "summary": "Returns all existing project types.", "description": "Returns all existing project types.", "parameters": [ { "name": "showArchived", "in": "query", "description": "Include archived project types in the results. Optional. False by default.", "schema": { "type": "boolean", "default": false } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" }, "isArchived": { "type": "boolean", "description": "Whether this type is archived.\r\nIt can no longer be used to create projects, but existing\r\nprojects will continue using it.", "example": false }, "isPreset": { "type": "boolean", "description": "Whether this type is one of the preset types.\r\nPreset types cannot be edited.", "example": false }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The project type model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectTypes" ], "summary": "Creates a new project type.", "description": "Creates a new project type.", "requestBody": { "description": "The model to create the project type.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The names of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "A short description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" } }, "additionalProperties": false, "description": "The POST / PUT project type model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The names of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "maxLength": 25000, "minLength": 0, "type": "string", "description": "A short description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" } }, "additionalProperties": false, "description": "The POST / PUT project type model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" }, "isArchived": { "type": "boolean", "description": "Whether this type is archived.\r\nIt can no longer be used to create projects, but existing\r\nprojects will continue using it.", "example": false }, "isPreset": { "type": "boolean", "description": "Whether this type is one of the preset types.\r\nPreset types cannot be edited.", "example": false }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttypes/icons": { "get": { "tags": [ "ProjectTypes" ], "summary": "Gets all possible icons for project types.", "description": "Returns all possible icons for project types.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttypes/{projectTypeId}/delete": { "post": { "tags": [ "ProjectTypes" ], "summary": "Deletes the project type with the specified id.", "description": "Deletes the project type with the specified id.\r\nIf an id of a new type is provided, projects will be updated to reference the new type\r\nIf no id of type is provided, the type if removed from the projects.", "parameters": [ { "name": "projectTypeId", "in": "path", "description": "The id of the project type.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to delete the project type.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectTypeId": { "type": "string", "description": "The id of the new project type.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The model to delete a project type." } }, "application/*+json": { "schema": { "type": "object", "properties": { "projectTypeId": { "type": "string", "description": "The id of the new project type.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The model to delete a project type." } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttypes/{projectTypeId}/setarchived": { "post": { "tags": [ "ProjectTypes" ], "summary": "Archives or unarchives the project type with the specified id.", "description": "Archives or unarchives the project type with the specified id. Archived objects can not be used any longer but\r\nstill exist for being referenced by other entities.", "parameters": [ { "name": "projectTypeId", "in": "path", "description": "Id of the type which will be changed.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The archiving model object.", "content": { "application/json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the project type.", "nullable": true, "example": "Brand Strategy" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the project type.", "nullable": true, "example": "A project to research and define a brand strategy" }, "icon": { "type": "string", "description": "The identifier of the project type icon.", "nullable": true, "example": "award" }, "isArchived": { "type": "boolean", "description": "Whether this type is archived.\r\nIt can no longer be used to create projects, but existing\r\nprojects will continue using it.", "example": false }, "isPreset": { "type": "boolean", "description": "Whether this type is one of the preset types.\r\nPreset types cannot be edited.", "example": false }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The project type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/roles": { "get": { "tags": [ "Roles" ], "summary": "Returns all roles of the workspace.", "description": "Returns all roles of the workspace.", "parameters": [ { "name": "showArchived", "in": "query", "description": "Include archived roles in the results. Optional. False by default.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false }, "id": { "type": "string", "description": "The id of the role.", "format": "uuid" }, "isPreset": { "type": "boolean", "description": "Whether this role is one of the preset roles.\r\nPreset roles can be edited, archived and deleted.", "example": false }, "isArchived": { "type": "boolean", "description": "Whether the role has been archived.", "example": false }, "createdBy": { "type": "string", "description": "The id of the user who created this role.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this role was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated this role.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this role was last modified.", "format": "date-time" } }, "additionalProperties": false, "description": "The role model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "post": { "tags": [ "Roles" ], "summary": "Creates a new role.", "description": "Creates a new role.", "requestBody": { "description": "The model used to create a role.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false } }, "additionalProperties": false, "description": "The POST/PUT model of the role." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false } }, "additionalProperties": false, "description": "The POST/PUT model of the role." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false }, "id": { "type": "string", "description": "The id of the role.", "format": "uuid" }, "isPreset": { "type": "boolean", "description": "Whether this role is one of the preset roles.\r\nPreset roles can be edited, archived and deleted.", "example": false }, "isArchived": { "type": "boolean", "description": "Whether the role has been archived.", "example": false }, "createdBy": { "type": "string", "description": "The id of the user who created this role.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this role was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated this role.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this role was last modified.", "format": "date-time" } }, "additionalProperties": false, "description": "The role model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/roles/{roleId}": { "get": { "tags": [ "Roles" ], "summary": "Returns the role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false }, "id": { "type": "string", "description": "The id of the role.", "format": "uuid" }, "isPreset": { "type": "boolean", "description": "Whether this role is one of the preset roles.\r\nPreset roles can be edited, archived and deleted.", "example": false }, "isArchived": { "type": "boolean", "description": "Whether the role has been archived.", "example": false }, "createdBy": { "type": "string", "description": "The id of the user who created this role.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this role was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated this role.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this role was last modified.", "format": "date-time" } }, "additionalProperties": false, "description": "The role model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "put": { "tags": [ "Roles" ], "summary": "Updates the role with the specified id.", "description": "Updates the role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the role with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false } }, "additionalProperties": false, "description": "The POST/PUT model of the role." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false } }, "additionalProperties": false, "description": "The POST/PUT model of the role." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false }, "id": { "type": "string", "description": "The id of the role.", "format": "uuid" }, "isPreset": { "type": "boolean", "description": "Whether this role is one of the preset roles.\r\nPreset roles can be edited, archived and deleted.", "example": false }, "isArchived": { "type": "boolean", "description": "Whether the role has been archived.", "example": false }, "createdBy": { "type": "string", "description": "The id of the user who created this role.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this role was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated this role.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this role was last modified.", "format": "date-time" } }, "additionalProperties": false, "description": "The role model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/roles/{roleName}": { "get": { "tags": [ "Roles" ], "summary": "Returns the role with the specified name.", "parameters": [ { "name": "roleName", "in": "path", "description": "The name of the role.", "required": true, "schema": { "type": "string" }, "example": "Designer" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false }, "id": { "type": "string", "description": "The id of the role.", "format": "uuid" }, "isPreset": { "type": "boolean", "description": "Whether this role is one of the preset roles.\r\nPreset roles can be edited, archived and deleted.", "example": false }, "isArchived": { "type": "boolean", "description": "Whether the role has been archived.", "example": false }, "createdBy": { "type": "string", "description": "The id of the user who created this role.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this role was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated this role.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this role was last modified.", "format": "date-time" } }, "additionalProperties": false, "description": "The role model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] } }, "/roles/{roleId}/delete": { "post": { "tags": [ "Roles" ], "summary": "Deletes the role with the specified id.", "description": "If there are still users in this role an id of a different role must be specified\r\nto move the users to that role.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The delete model for roles.", "content": { "application/json": { "schema": { "type": "object", "properties": { "newRoleId": { "type": "string", "description": "The id of the role to which all users of the old role will be moved.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "newRoleId": { "type": "string", "description": "The id of the role to which all users of the old role will be moved.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/roles/{roleId}/setarchived": { "post": { "tags": [ "Roles" ], "summary": "Archives or unarchives the role with the specified id.", "description": "Archives or unarchives the role with the specified id.\r\nAn archived role still exists for all users currently using it,\r\nbut users can no longer be assigned to this role.", "parameters": [ { "name": "roleId", "in": "path", "description": "Id of the role which will be archived.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to archive the role.", "content": { "application/json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the role. Required. Needs to be unique.", "nullable": true, "example": "Designer" }, "isAdminRole": { "type": "boolean", "description": "Whether this is the admin role.\r\nOnly one role can be the admin role.", "example": false }, "isGuestRole": { "type": "boolean", "description": "Whether this is the guest role.\r\nOnly one role can be the guest role.", "example": false }, "id": { "type": "string", "description": "The id of the role.", "format": "uuid" }, "isPreset": { "type": "boolean", "description": "Whether this role is one of the preset roles.\r\nPreset roles can be edited, archived and deleted.", "example": false }, "isArchived": { "type": "boolean", "description": "Whether the role has been archived.", "example": false }, "createdBy": { "type": "string", "description": "The id of the user who created this role.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this role was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated this role.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this role was last modified.", "format": "date-time" } }, "additionalProperties": false, "description": "The role model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/roles/{roleId}/adduser": { "post": { "tags": [ "Roles" ], "summary": "Adds the user to the Role with the specified id.", "description": "Adds the user to the Role with the specified id.", "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add the user to the role.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to add to the role.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to add to the role.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/roles/moveuser": { "post": { "tags": [ "Roles" ], "summary": "Moves a user from their current role to another role.", "description": "Moves a user from their current role to another role.\r\nAt least one user needs to remain in the admin role.", "requestBody": { "description": "The model to move the user.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to be moved to another role.", "format": "uuid" }, "toRoleId": { "type": "string", "description": "The id of the role the user should be moved to.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user to be moved to another role.", "format": "uuid" }, "toRoleId": { "type": "string", "description": "The id of the role the user should be moved to.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/projecttemplates/{projecttemplateId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the projecttemplate with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/projects/{projectId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the project with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/tasktemplates/{tasktemplateId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the tasktemplate with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/tasks/{taskId}/workspaceid": { "get": { "tags": [ "Global" ], "summary": "Get the workspace id of the task with the specified id.", "description": "As it is a cluster internal endpoint it is not taking into account user permissions constraints.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success" } } } }, "/tasks/{taskId}/timeentries": { "get": { "tags": [ "EntityTimeEntries" ], "summary": "Returns all time entities of a specified task.", "description": "The taskName parameter defines the main task of which to fetch the time entries.\r\nSupported types are: 'projects' and 'tasks'.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } } } } }, "/projects/{projectId}/timeentries": { "get": { "tags": [ "EntityTimeEntries" ], "summary": "Returns all time entities of a specified project.", "description": "The projectName parameter defines the main project of which to fetch the time entries.\r\nSupported types are: 'projects' and 'tasks'.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } } } } }, "/taskbundles": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns all global task bundles.", "description": "Returns all global task bundles.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TaskBundles" ], "summary": "Creates a new task bundle.", "description": "Creates a new task bundle.", "requestBody": { "description": "The model used to create a new task bundle.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the task bundle with the specified id.", "description": "Returns the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TaskBundles" ], "summary": "Updates the task bundle with the specified id.", "description": "Updates the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the task bundle with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] }, "delete": { "tags": [ "TaskBundles" ], "summary": "Deletes the task bundle with the specified id.", "description": "Deletes the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/icons": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns all possible icons for a task bundle.", "description": "Returns all possible icons for a task bundle.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskbundles/{taskBundleId}/tasklisttemplates": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns all task list templates of the task bundle with the specified id.", "description": "Returns all task list templates of the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TaskBundles" ], "summary": "Creates a new task list template for the task bundle with the specified id.", "description": "Creates a new task list template for the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to create a new task list template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the task list template of the task bundle with the specified id.", "description": "Returns the task list template of the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TaskBundles" ], "summary": "Updates the task list template for the task bundle with the specified id.", "description": "Updates the task list template for the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the task list template with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 1 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 1 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] }, "delete": { "tags": [ "TaskBundles" ], "summary": "Deletes the task list template for the task bundle with the specified id.", "description": "Deletes the task list template for the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}/updateorder": { "post": { "tags": [ "TaskBundles" ], "summary": "Updates the order of a task list template in a task bundle.", "description": "Updates the order of a task list template in a task bundle.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the order of the task list template with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}/addtasktemplates": { "post": { "tags": [ "TaskBundles" ], "summary": "Adds the task templates to the task list template with the specified id.", "description": "Adds the task templates to the task list template with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of the task templates to add to the list.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskTemplateId": { "type": "string", "description": "The id of the task template.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task template, unique within the task list template.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskTemplateId": { "type": "string", "description": "The id of the task template.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task template, unique within the task list template.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task", "format": "double", "nullable": true, "example": 3 } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}/removetasktemplates": { "post": { "tags": [ "TaskBundles" ], "summary": "Removes the task templates from the task list template with the specified id.", "description": "Removes the task templates from the task list template with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of the tasks to remove from the list.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}/tasktemplates/{taskTemplateId}": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the task template with the specified id in the specified task list template.", "description": "Returns the task template with the specified id in the specified task list template.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskTemplateId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}/tasktemplates": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the task templates in the specified task list template.", "description": "Returns the task templates in the specified task list template.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskbundles/{taskBundleId}/tasklisttemplates/{taskListTemplateId}/tasktemplates/{taskTemplateId}/updateorder": { "post": { "tags": [ "TaskBundles" ], "summary": "Updates the order of a task template in a task list template.", "description": "To update the order of tasks in a project task list, the user needs manage permissions on the\r\nproject-planning-data feature.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListTemplateId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskTemplateId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the order of the task template in the task list template with the\r\nspecified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/tasktemplates/{taskTemplateId}/checklistitemtemplates": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the checklist item templates for a task template with the specified id.", "description": "To access the task template, 'read' permissions on the 'project-planning-data' feature or\r\non the 'project-manage-config' feature are required.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-20T14:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-20T17:03:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this check list.", "format": "uuid" }, "taskTemplateId": { "type": "string", "description": "The id of the task template this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "read" ] }, "post": { "tags": [ "TaskBundles" ], "summary": "Creates a checklist item template for a task template with the specified id.", "description": "To access the task template, 'write' permissions on the 'project-planning-data' feature or\r\non the 'project-manage-config' feature are required.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create the checklist item template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Sample Checklist template" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Sample Checklist template" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-20T14:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-20T17:03:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this check list.", "format": "uuid" }, "taskTemplateId": { "type": "string", "description": "The id of the task template this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/tasktemplates/{taskTemplateId}/checklistitemtemplates/{checklistItemTemplateId}": { "get": { "tags": [ "TaskBundles" ], "summary": "Returns the checklist item template for a task template with the specified id.", "description": "To access the task template, 'read' permissions on the 'project-planning-data' feature or\r\non the 'project-manage-config' feature are required.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemTemplateId", "in": "path", "description": "The id of the checklist item template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-20T14:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-20T17:03:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this check list.", "format": "uuid" }, "taskTemplateId": { "type": "string", "description": "The id of the task template this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "read" ] }, "put": { "tags": [ "TaskBundles" ], "summary": "Updates a checklist item template for a task template with the specified id.", "description": "To access the task template, 'write' permissions on the 'project-planning-data' feature or\r\non the 'project-manage-config' feature are required.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemTemplateId", "in": "path", "description": "The id of the checklist item template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the checklist item template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Sample Checklist template" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Sample Checklist template" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Whether the checklist item is done." }, "name": { "type": "string", "description": "The name of the checklist item.", "nullable": true, "example": "Create YouTube Ads" }, "order": { "type": "number", "description": "The order of the checklist item.", "format": "double", "nullable": true, "example": 4 }, "id": { "type": "string", "description": "The id of the checklist item.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this checklist item was created.", "format": "date-time", "example": "2021-03-20T14:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this checklist item.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this checklist item was last modified.", "format": "date-time", "example": "2021-03-20T17:03:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this check list.", "format": "uuid" }, "taskTemplateId": { "type": "string", "description": "The id of the task template this checklist item belongs to.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] }, "delete": { "tags": [ "TaskBundles" ], "summary": "Deletes a checklist item template for a task template with the specified id.", "description": "To access the task template, 'write' permissions on the 'project-planning-data' feature or\r\non the 'project-manage-config' feature are required.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "checklistItemTemplateId", "in": "path", "description": "The id of the checklist item template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/fromproject/{projectId}": { "post": { "tags": [ "TaskBundles" ], "summary": "Creates a new task bundle from the specified project.", "parameters": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/fromtasklist/{taskListId}": { "post": { "tags": [ "TaskBundles" ], "summary": "Creates a new task bundle from the specified task list.\r\nTurns the tasks, task list and TaskToTaskLists into templates.", "parameters": [ { "name": "taskListId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task bundle. Required if its not related to a task bundle.", "nullable": true, "example": "Project Kickoff" }, "description": { "type": "string", "description": "The description of the task bundle.", "nullable": true, "example": "Includes all tasks related to getting this project off the ground successfully. For the joy of work!" }, "icon": { "type": "string", "description": "The icon of the task bundle.", "nullable": true, "example": "arrow_forward" }, "projectTemplateId": { "type": "string", "description": "The project template id of the task bundle, only necessary for the creation of an empty bundle for a project template.", "format": "uuid", "nullable": true, "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "id": { "type": "string", "description": "The id of the task bundle.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task bundle was created.", "format": "date-time", "example": "2022-03-11T17:53:46.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task bundle.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task bundle was last modified.", "format": "date-time", "example": "2022-03-13T11:20:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task bundle.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The list templates within this task bundle.", "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false }, "description": "The task templates within this task bundle.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/projects/{projectId}/addtaskbundle": { "post": { "tags": [ "TaskBundles" ], "summary": "Adds the task bundle to the entity with the specified id.", "description": "Adds the task bundle to the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add the task bundle to the project.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskBundleId": { "type": "string", "description": "The id of the task bundle to add to the entity.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template to get the task bundle from.", "format": "uuid", "nullable": true }, "defaultTaskListIdForEmails": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskBundleId": { "type": "string", "description": "The id of the task bundle to add to the entity.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template to get the task bundle from.", "format": "uuid", "nullable": true }, "defaultTaskListIdForEmails": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskdependencies": { "post": { "tags": [ "TaskDependencies" ], "summary": "Creates a new task dependency.", "description": "To create a task dependency, the user needs to be the assignee of both tasks or 'ProjectPlanning'\r\npermissions in general or in the project the tasks are related to.", "requestBody": { "description": "The model used to create a task dependency.", "content": { "application/json": { "schema": { "type": "object", "properties": { "predecessorId": { "type": "string", "description": "The Id of the predecessor. One task can have multiple predecessor.", "format": "uuid" }, "successorId": { "type": "string", "description": "The Id of the successor. One task can have one successor.", "format": "uuid" } }, "additionalProperties": false, "description": "Describes the dependency between two tasks. One Task is the predecessor and one task is the successor." } }, "application/*+json": { "schema": { "type": "object", "properties": { "predecessorId": { "type": "string", "description": "The Id of the predecessor. One task can have multiple predecessor.", "format": "uuid" }, "successorId": { "type": "string", "description": "The Id of the successor. One task can have one successor.", "format": "uuid" } }, "additionalProperties": false, "description": "Describes the dependency between two tasks. One Task is the predecessor and one task is the successor." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "predecessorId": { "type": "string", "description": "The Id of the predecessor. One task can have multiple predecessor.", "format": "uuid" }, "successorId": { "type": "string", "description": "The Id of the successor. One task can have one successor.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the task dependency.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this task dependency was created.", "format": "date-time", "example": "2021-03-22T13:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task dependency.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task dependenc was last modified.", "format": "date-time", "example": "2021-03-22T18:00:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task dependency.", "format": "uuid" } }, "additionalProperties": false, "description": "Describes the dependency between two tasks. One Task is the predecessor and one task is the successor." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskdependencies/{taskDependencyId}": { "delete": { "tags": [ "TaskDependencies" ], "summary": "Deletes a task dependency.", "description": "To delete a task dependency, the user needs to be the assignee of both tasks or 'ProjectPlanning'\r\npermissions in general or in the project the task are related to.", "parameters": [ { "name": "taskDependencyId", "in": "path", "description": "The id of the task dependency.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskbundles/{taskBundleId}/taskdependencytemplates": { "get": { "tags": [ "TaskDependencyTemplates" ], "summary": "Returns all task dependency templates for a given task bundle.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "read" ] }, "post": { "tags": [ "TaskDependencyTemplates" ], "summary": "Creates a task dependency template for two task templates of the given task bundle.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The form to create a task dependency template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/taskdependencytemplates/{taskDependencyTemplateId}": { "get": { "tags": [ "TaskDependencyTemplates" ], "summary": "Returns a task dependency template by id for a given task bundle.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskDependencyTemplateId", "in": "path", "description": "The id of the task dependency template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "read" ] }, "delete": { "tags": [ "TaskDependencyTemplates" ], "summary": "Deletes the task dependency template from the task bundle.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskDependencyTemplateId", "in": "path", "description": "The id of the task dependency template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/tasktemplates/{taskTemplateId}/taskdependencytemplates": { "get": { "tags": [ "TaskDependencyTemplates" ], "summary": "Returns the task dependency templates for a given task template.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "read" ] } }, "/projects/{projectId}/tasklists/{taskListId}/changeproject": { "post": { "tags": [ "TaskLists" ], "summary": "Changes the project of the task list with the specified id.", "description": "Changes the project of the task list with the specified id.\n This endpoint also moves all tasks and time entries to the new project.\n This will also change the tracked time sum of the old and new projects.\n The task status mapping will move all tasks of a certain status to the new provided status on the mapping.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the project of the task list.", "content": { "application/json": { "schema": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The id of the project the list will be moved to.", "format": "uuid" }, "taskStatusMapping": { "type": "array", "items": { "type": "object", "properties": { "oldStatusId": { "type": "string", "description": "The old task status id.", "format": "uuid" }, "newStatusId": { "type": "string", "description": "The new task status id.", "format": "uuid" } }, "additionalProperties": false }, "description": "The task status mapping from old task status to new task status.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" }, "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/tasklists/{taskListId}/copy": { "post": { "tags": [ "TaskLists" ], "summary": "Creates a copy of the task list provided.\n A new task list will be created with the same name as the original one.\n All tasks and subtasks will also be copied in this operation.", "description": "Comments, files and activity logs are not copied.\n To copy a task list, the user needs to have 'ProjectPlanning'\n permissions in general or in the project the task list belongs to.", "parameters": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/changelists": { "post": { "tags": [ "Tasks" ], "summary": "Changes the lists of tasks. The endpoint allows to add and remove tasks to lists and reorder tasks within lists.", "description": "", "requestBody": { "description": "The form to change the lists of tasks.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task to change.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task", "format": "double", "nullable": true, "example": 3 } }, "additionalProperties": false }, "description": "The lists the task should be moved to.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task to change.", "format": "uuid" }, "taskLists": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task", "format": "double", "nullable": true, "example": 3 } }, "additionalProperties": false }, "description": "The lists the task should be moved to.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/changesubtasks": { "post": { "tags": [ "Tasks" ], "summary": "Changes the parent task and the order of subtasks.", "description": "Changes parent task and order of subtasks. If the parent task of a subtask changed, its lists, base type and entity\n will change to match the parent ones.\n It is not possible to change a task to subtask if the task already has subtasks.", "requestBody": { "description": "The model used to change a subtask.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task.", "format": "uuid" }, "order": { "type": "number", "description": "The order the subtask related to its parent.", "format": "double", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/changesubtaskstoparent": { "post": { "tags": [ "Tasks" ], "summary": "Convert subtasks to a parent task.", "description": "Convert subtasks to a parent task. If list ids are not provided it will keep the same lists as the old parent task,\n placing the task as last item in the lists.\n If multiple list ids are provided per task, the lists will be overwritten with the lists provided. In this case, if an\n order is not provided, it will be put as the last item in the list.", "requestBody": { "description": "The model used to change a subtask.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "listId": { "type": "string", "format": "uuid", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "taskId": { "type": "string", "format": "uuid" } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/setassignees": { "post": { "tags": [ "Tasks" ], "summary": "Assignes a list of users to a given task. If a userId of an existing assignment is not present, the user will be\r\nunassigned from the task.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The list of user ids to assign.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/assignuserbyemail": { "post": { "tags": [ "Tasks" ], "summary": "Assigns a new user to a tasks by email invitation.", "description": "For the invitation, the role of the user has to be specified. The user is then invited\r\nto the workspace and assigned to the task.\r\nThe user will receive an email with the invitation link, as well as a redirect to the task.\r\nThe new user will replace any currently existing task assignments.", "requestBody": { "description": "The model to assign the user.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "email": { "type": "string", "description": "The email of the new user.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "firstName": { "type": "string", "description": "The first name of the user to be invited.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the user to be invited.", "nullable": true, "example": "Creative" }, "gender": { "type": "string", "description": "The gender of the user to be invited.\r\nCould be 'male', 'female', 'other'", "nullable": true, "example": "female" }, "roleId": { "type": "string", "description": "The id of the role to which the new user should be added.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "email": { "type": "string", "description": "The email of the new user.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "firstName": { "type": "string", "description": "The first name of the user to be invited.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the user to be invited.", "nullable": true, "example": "Creative" }, "gender": { "type": "string", "description": "The gender of the user to be invited.\r\nCould be 'male', 'female', 'other'", "nullable": true, "example": "female" }, "roleId": { "type": "string", "description": "The id of the role to which the new user should be added.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/setplannedefforts": { "post": { "tags": [ "Tasks" ], "summary": "Modifies a list of planned efforts of a given task. Only the efforts passed on the body will be updated, ignoring any\r\nmissing effort.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The list of planned efforts to be modified.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user that is assigned to the task.", "format": "uuid", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user that is assigned to the task.", "format": "uuid", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/delete": { "post": { "tags": [ "Tasks" ], "summary": "Deletes the specified tasks.", "description": "Returns 204 NoContent if all tasks have been changed successfully.\r\nReturns 207 MultiStatus if at least one task could not be changed, including the reasons.\r\nThe required permissions depend on the base type of the task.\r\nIf the task is a project task, 'write' permissions on the 'project-planning-data' feature are required.\r\nFor a user's private task, no special permissions are required.\r\nBy default, the related time trackings of these tasks\r\nloose the relation to the deleted tasks.\r\nIn order to delete the time trackings as well, you need to set the 'DeleteTimeTrackings' property to true.", "requestBody": { "description": "The model to delete tasks.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of tasks to be deleted.", "nullable": true }, "deleteTimeTrackings": { "type": "boolean", "description": "Set to true to delete also the related time trackings.\r\nIf it is set to false the related time trackings are still there, but\r\nthe project and task reference will be cleared.\r\nThat will also happen if no request body is present.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of tasks to be deleted.", "nullable": true }, "deleteTimeTrackings": { "type": "boolean", "description": "Set to true to delete also the related time trackings.\r\nIf it is set to false the related time trackings are still there, but\r\nthe project and task reference will be cleared.\r\nThat will also happen if no request body is present.", "example": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/changestatuses": { "post": { "tags": [ "Tasks" ], "summary": "Changes statuses of tasks.", "description": "Returns 204 NoContent if all tasks have been changed successfully.\r\nReturns 207 MultiStatus if at least one task could not be changed, including the reasons.\r\nThe required permissions depend on the base type of the task.\r\nIf the task is a project task, 'write' permissions on the 'project-planning-data' feature are required.\r\nFor a user's private task, no special permissions are required.", "requestBody": { "description": "The model to change statuses.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "statusId": { "type": "string", "description": "The id of the task status.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the status int the new task status.\r\nThe task is appended to the end if the Order is not set.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "statusId": { "type": "string", "description": "The id of the task status.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the status int the new task status.\r\nThe task is appended to the end if the Order is not set.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" }, "207": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/updateorder": { "post": { "tags": [ "Tasks" ], "summary": "Updates the order of the task with the specified id.", "description": "Updates the order of the task of a specific task status for project tasks.\r\nIf it is a private task it updates the order of the private tasks of the user.\r\nThis can have an impact of other tasks as well.\r\nIf the task is not appended to the end, the other tasks of the project within the same task status will get a new\r\norder.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the order of the task with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task", "format": "double", "nullable": true, "example": 3 } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/changetypeofwork": { "post": { "tags": [ "Tasks" ], "summary": "Changes the type of work for a batch of tasks.", "description": "Changes the type of work for a batch of tasks and their related time trackings.\r\nReturns 204 NoContent if all tasks have been changed successfully.\r\nReturns 207 MultiStatus if at least one task could not be changed, including the reasons.\r\nThe required permissions depend on the base type of the task.\r\nIf the task is a project task, 'write' permissions on the 'project-planning-data' feature are required.\r\nFor a user's private task, no special permissions are required.", "requestBody": { "description": "The model to change types.", "content": { "application/json": { "schema": { "type": "object", "properties": { "typeOfWorkId": { "type": "string", "description": "The id of the task type.\r\nRequired.", "format": "uuid" }, "changeTimeEntries": { "type": "boolean", "description": "Whether the related time entries should be moved to the same type of work." }, "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of task ids.\r\nRequired.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "typeOfWorkId": { "type": "string", "description": "The id of the task type.\r\nRequired.", "format": "uuid" }, "changeTimeEntries": { "type": "boolean", "description": "Whether the related time entries should be moved to the same type of work." }, "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of task ids.\r\nRequired.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" }, "207": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/changebasetypes": { "post": { "tags": [ "Tasks" ], "summary": "Changes the base type for a batch of tasks.", "description": "Changes the base type for a batch of tasks.\r\nThis operation will remove the task from the lists it is on.\r\nIf the task is a parent task, also all subtasks are changed as well.\r\nIf the task has task dependencies to tasks not in the given list of task ids, those will be removed as well.\r\nIf the task baseType is already the correct base type, no changes are made.\r\nThe status of the task is matched automatically to the first status of the new basetype based on order and type. In the\r\nfuture, this should be a mapping in the form.\r\nReturns 204 NoContent if all tasks have been changed successfully.\r\nReturns 207 MultiStatus if at least one task could not be changed, including the reasons.\r\nThe required permissions depend on the base type of the task.\r\nIf the task is a project task, 'write' permissions on the 'project-planning-data' feature are required.\r\nFor a user's private task, no special permissions are required.", "requestBody": { "description": "The model to change types.", "content": { "application/json": { "schema": { "type": "object", "properties": { "baseType": { "type": "string", "description": "The type the tasks should be migrated to.\r\nPossible values are 'private' or 'projecttask'.\r\nRequired.", "nullable": true, "example": "private" }, "entityId": { "type": "string", "description": "The id of the entity.\r\nThe id of the project if the base type is 'projecttask'\r\nor the id of the user if the base type is 'private'.\r\nRequired.", "format": "uuid" }, "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of task ids.\r\nRequired.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "baseType": { "type": "string", "description": "The type the tasks should be migrated to.\r\nPossible values are 'private' or 'projecttask'.\r\nRequired.", "nullable": true, "example": "private" }, "entityId": { "type": "string", "description": "The id of the entity.\r\nThe id of the project if the base type is 'projecttask'\r\nor the id of the user if the base type is 'private'.\r\nRequired.", "format": "uuid" }, "taskIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of task ids.\r\nRequired.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" }, "207": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/settaskpriority": { "post": { "tags": [ "Tasks" ], "summary": "Set the priority of the task with the specified id.", "requestBody": { "description": "The model to change the priority.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "isPrio": { "type": "boolean", "description": "Priority flag of the task.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid" }, "isPrio": { "type": "boolean", "description": "Priority flag of the task.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{taskId}/recurrency": { "get": { "tags": [ "Tasks" ], "summary": "Returns the existing recurrency rule for one task.", "description": "Read permissions for this task are required. Returns 404 if no rule exists.", "parameters": [ { "name": "taskId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "recurrencyRule": { "type": "string", "description": "The recurrence rule as cron expression. We support all expressions which cronos supports\r\n(https://github.com/HangfireIO/Cronos).\r\nThe number of occurrences is limited to 24 a day.", "nullable": true }, "recurrencyInterval": { "type": "integer", "description": "The interval of the executed expression. If the value is 3, only the third time of the expression the recurrence is\r\nactually executed.", "format": "int32", "nullable": true, "example": 1 }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this recurrence rule, in seconds,\r\nfrom the moment of creating the task by a recurrence rule.", "format": "int64", "nullable": true, "example": 3600 }, "recurrencyStartOn": { "type": "string", "description": "DateTime when recurring task creation will start, considering the set Recurrency Rule and Recurrency Interval.", "format": "date-time", "nullable": true, "example": "2021-03-15T11:00:00Z" }, "recurrencyTimezone": { "type": "string", "description": "The timezone of the Recurrency Rule.", "nullable": true, "example": "Europe/Berlin" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{entityId}/addtags": { "post": { "tags": [ "TaskTags" ], "summary": "Adds a batch of new tags to the entity with the specified id.", "description": "The request fails if one of the tags is invalid (e.g. empty or duplicate).\r\nTo create the tags the user needs 'write' permissions on the specified entity.", "parameters": [ { "name": "entityId", "in": "path", "description": "The id of the entity.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{entityId}/updatetags": { "post": { "tags": [ "TaskTags" ], "summary": "Updates a tag to the entity with the specified id.", "description": "To update the tag the user needs 'write' permissions on the specified entity.", "parameters": [ { "name": "isPrivateTask", "in": "query", "description": "If the entity is a private task.", "schema": { "type": "boolean" } }, { "name": "entityId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/{entityId}/deletetags": { "post": { "tags": [ "TaskTags" ], "summary": "Removes tags from the entity with the specified id.", "description": "Removes tags from the project with the specified id.\r\nTo delete the tags the user needs 'write' permissions on the specified entity.\r\nReturns 204 NoContent if all tags have been removed successfully.\r\nReturns 207 MultiStatus if at least one tag could not be removed, including the reasons.", "parameters": [ { "name": "entityId", "in": "path", "description": "The id of the entity.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/tasks/deletetags": { "post": { "tags": [ "TaskTags" ], "summary": "Removes tag from all entities.", "description": "Removes tag from all projects.\r\nTo delete the tags the user needs 'write' permissions on the specified entity.\r\nReturns 204 NoContent if tag has been removed successfully.", "parameters": [ { "name": "isPrivateTask", "in": "query", "description": "If the entity is a private task.", "schema": { "type": "boolean" } } ], "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskbundles/{taskBundleId}/tasktemplates": { "get": { "tags": [ "TaskTemplates" ], "summary": "Returns all task templates of the task bundle with the specified id.", "description": "Returns all task templates of the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TaskTemplates" ], "summary": "Creates a new task template for the task bundle with the specified id.", "description": "Creates a new task template for the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The form used to create a new task template.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskbundles/{taskBundleId}/tasktemplates/{taskTemplateId}": { "get": { "tags": [ "TaskTemplates" ], "summary": "Returns the task template of the task bundle with the specified id.", "description": "Returns the task template of the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TaskTemplates" ], "summary": "Updates the task template for the task bundle with the specified id.", "description": "Updates the task template for the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the task template with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] }, "delete": { "tags": [ "TaskTemplates" ], "summary": "Deletes the task template for the task bundle with the specified id.", "description": "Deletes the task template for the task bundle with the specified id.", "parameters": [ { "name": "taskBundleId", "in": "path", "description": "The id of the task bundle.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/tasktemplates/{taskTemplateId}": { "get": { "tags": [ "TaskTemplates" ], "summary": "Returns the task template with the specified id.", "description": "Returns the task template with the specified id.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task created from this template.", "nullable": true, "example": "Wireframe layout" }, "description": { "type": "string", "description": "The description of the task created from this template.", "nullable": true, "example": "Create the wireframe layout ready to be discussed with the stakeholders" }, "isPrio": { "type": "boolean", "description": "Whether the task created from this template will be marked as priority.", "example": false }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task created from this template, in seconds.", "format": "int32", "example": 1400 }, "relativeStartOn": { "type": "integer", "description": "The relative start date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "relativeDueOn": { "type": "integer", "description": "The relative due date and time of the task created from this template, in seconds,\r\nfrom the moment of creating the task.", "format": "int64", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "assignedRoleId": { "type": "string", "description": "The id of the assigned role of this task.", "format": "uuid", "nullable": true }, "parentId": { "type": "string", "description": "The id of the parent task template if the task template is a subtask.", "format": "uuid", "nullable": true }, "subtaskOrder": { "type": "number", "description": "The order of the subtask template relative to its parent task template.", "format": "double", "nullable": true, "example": 1 }, "id": { "type": "string", "description": "The Id of the task template.", "format": "uuid" }, "taskType": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." }, "taskListTemplate": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task list template.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task list template.", "nullable": true, "example": "Concept Desing" }, "orderOfTask": { "type": "number", "description": "The order of the task template in the task list template.", "format": "double", "example": 2 }, "order": { "type": "number", "description": "The order of the task list template, unique within the task bundle.", "format": "double", "example": 1 } }, "additionalProperties": false }, "description": "The task list templates of the task template.", "nullable": true }, "taskDependencyTemplates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "predecessorTemplateId": { "type": "string", "description": "The id of the predecessor task template.", "format": "uuid", "example": "f76a7b32-f279-ec11-94f6-dc984040d6c9" }, "successorTemplateId": { "type": "string", "description": "The id of the successor task template.", "format": "uuid", "example": "fc8e5a55-e96f-ec11-94f6-dc984040d6c7" } }, "additionalProperties": false }, "description": "The list of task dependency templates for that task template.", "nullable": true }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of assigned users to that task template.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-03-14T10:12:02.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2022-03-25T14:55:30.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "order": { "type": "number", "description": "For internal purposes.", "format": "double", "nullable": true, "example": 4 }, "hasAttachments": { "type": "boolean", "description": "If the task template has attachments." }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template, the flag is true.", "example": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskbundles/{taskBundleId}/tasktemplates/{taskTemplateId}/setassignees": { "post": { "tags": [ "TaskTemplates" ], "summary": "Assigns a list of users to task templates. Users that are not passed and are already assigned will be removed.\r\nremoves existing task template assignments and adds the new assignment.", "parameters": [ { "name": "taskTemplateId", "in": "path", "description": "The id of the task template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskBundleId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The list of users to assign by id.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/taskviews/{taskViewId}": { "get": { "tags": [ "TaskViews" ], "summary": "Returns a single task view that is shared within the workspace.", "description": "Returns one task view that is specified by the id. Task views that not are shared are not considered.", "parameters": [ { "name": "taskViewId", "in": "path", "description": "The id of the task view.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task view.", "format": "uuid" }, "isShared": { "type": "boolean", "description": "Whether this task view is shared within the workspace.", "example": true }, "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter coventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "createdOn": { "type": "string", "description": "The date this task view was created.", "format": "date-time", "example": "2022-03-10T16:03:49.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task view.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task view was last modified.", "format": "date-time", "example": "2022-03-15T16:55:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task view.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/taskviews": { "get": { "tags": [ "TaskViews" ], "summary": "Returns all task views that are shared within the workspace.", "description": "Returns all task views. Task views that are not shared are not considered.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task view.", "format": "uuid" }, "isShared": { "type": "boolean", "description": "Whether this task view is shared within the workspace.", "example": true }, "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter coventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "createdOn": { "type": "string", "description": "The date this task view was created.", "format": "date-time", "example": "2022-03-10T16:03:49.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task view.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task view was last modified.", "format": "date-time", "example": "2022-03-15T16:55:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task view.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/taskviews/subscribe": { "post": { "tags": [ "TaskViews" ], "summary": "Subscribes the current user to a shared task view.", "description": "Subscribes the user to a shared task view.\r\nAfterwards the user can retrieve the matching tasks from /me/taskViews/id/tasks.", "requestBody": { "description": "The model for the subscription business operation.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskViewId": { "type": "string", "description": "The id of the task view the user subscribes to.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskViewId": { "type": "string", "description": "The id of the task view the user subscribes to.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/taskviews/unsubscribe": { "post": { "tags": [ "TaskViews" ], "summary": "Terminates a subscription of a user to a shared task view.", "description": "Removes the subscription from a user to a task view. Unsunscribing only works for shared\r\ntask views.", "requestBody": { "description": "The model for the unsubscription business operation.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskViewId": { "type": "string", "description": "The id of the task view the user subscribes to.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "taskViewId": { "type": "string", "description": "The id of the task view the user subscribes to.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/taskviews/{taskViewId}": { "get": { "tags": [ "TaskViews" ], "summary": "Returns a single task view from a user.", "description": "Returns one task view that is specified by the id that the current user subscribed to.", "parameters": [ { "name": "taskViewId", "in": "path", "description": "The task view id.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task view.", "format": "uuid" }, "isShared": { "type": "boolean", "description": "Whether this task view is shared within the workspace.", "example": true }, "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter coventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "createdOn": { "type": "string", "description": "The date this task view was created.", "format": "date-time", "example": "2022-03-10T16:03:49.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task view.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task view was last modified.", "format": "date-time", "example": "2022-03-15T16:55:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task view.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TaskViews" ], "summary": "Updates an existing task view. Only the original creator of the entity is authorized to do this operation.", "description": "Updates an existing task view.\r\nIf the provided filter string is invalid the request will fail with status 400.\r\nOnly the original author can update non-shared task view. Shared tasks lists can only be updated by the\r\noriginal author or someone with project planning permissions.", "parameters": [ { "name": "taskViewId", "in": "path", "description": "The id of the task view that will be updated.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the task view.", "content": { "application/json": { "schema": { "type": "object", "properties": { "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter conventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "isShared": { "type": "boolean", "description": "If the taskview is shared or not.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter conventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "isShared": { "type": "boolean", "description": "If the taskview is shared or not.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task view.", "format": "uuid" }, "isShared": { "type": "boolean", "description": "Whether this task view is shared within the workspace.", "example": true }, "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter coventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "createdOn": { "type": "string", "description": "The date this task view was created.", "format": "date-time", "example": "2022-03-10T16:03:49.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task view.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task view was last modified.", "format": "date-time", "example": "2022-03-15T16:55:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task view.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "TaskViews" ], "summary": "Deletes an existing task view that is specified by an id.", "description": "Deletes a task view. This also removes all subscriptions of the task view.\r\nShared task views can be deleted by the original author or users with admin permissions.\r\nPrivate task views can only be deleted by the original author.", "parameters": [ { "name": "taskViewId", "in": "path", "description": "The id to specify the task view.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/taskviews": { "get": { "tags": [ "TaskViews" ], "summary": "Returns all task views that the user subscribed to.", "description": "Returns all task views that the current user subscribed to.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task view.", "format": "uuid" }, "isShared": { "type": "boolean", "description": "Whether this task view is shared within the workspace.", "example": true }, "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter coventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "createdOn": { "type": "string", "description": "The date this task view was created.", "format": "date-time", "example": "2022-03-10T16:03:49.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task view.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task view was last modified.", "format": "date-time", "example": "2022-03-15T16:55:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task view.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TaskViews" ], "summary": "Creates a new task view and directly subscribes the user to it.", "description": "Creates a new task view. The user will automatically subscribe to it in the process.\r\nIf the provided filter string is invalid the request will fail with status 400.", "requestBody": { "description": "The model to create the task view.", "content": { "application/json": { "schema": { "type": "object", "properties": { "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter conventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "isShared": { "type": "boolean", "description": "If the taskview is shared or not.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter conventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "isShared": { "type": "boolean", "description": "If the taskview is shared or not.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task view.", "format": "uuid" }, "isShared": { "type": "boolean", "description": "Whether this task view is shared within the workspace.", "example": true }, "filter": { "type": "string", "description": "The filter query that is applied to the tasks results.\r\nThe syntax follows the normal filter coventions that can be used on GET routes.", "nullable": true, "example": "(project/company ne null)" }, "filterSettings": { "type": "string", "description": "The filter settings to display.", "nullable": true, "example": "(json data representing the filter settings. Too long to show in doc)" }, "name": { "type": "string", "description": "The name of the task view.", "nullable": true, "example": "Projects with defined company" }, "createdOn": { "type": "string", "description": "The date this task view was created.", "format": "date-time", "example": "2022-03-10T16:03:49.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task view.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task view was last modified.", "format": "date-time", "example": "2022-03-15T16:55:00.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task view.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/taskviews/{taskViewId}/tasks": { "get": { "tags": [ "TaskViews" ], "summary": "Returns all the tasks of a task view.", "description": "Applies the filter of a task view the current user subscribed to and returns all matching tasks.", "parameters": [ { "name": "taskViewId", "in": "path", "description": "The id of the task view.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/teams": { "get": { "tags": [ "Teams" ], "summary": "Returns all teams.", "description": "If the include query params aren't set or false, the specified collection property is null in the response.\r\nIf the include param is true, but there are no entities in the collection, an empty collection is returned.", "parameters": [ { "name": "includeUserIds", "in": "query", "description": "Whether the user ids should be included.", "schema": { "type": "boolean", "default": false } }, { "name": "includeProjectIds", "in": "query", "description": "Whether the project ids should be included.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" }, "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this team was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this team.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this team was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this team.", "format": "uuid", "nullable": true }, "userIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the users in the team.", "nullable": true }, "projectIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the projects in the team.", "nullable": true } }, "additionalProperties": false, "description": "The team GET model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "Teams" ], "summary": "Creates a new team.", "description": "Creates a new team.\r\nNo validations are done for color and icon property, can be any string.\r\nThrows IllegalOperationException if team with the same name already exists.", "requestBody": { "description": "The team to create.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "The team POST/PUT model." } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "The team POST/PUT model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" }, "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this team was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this team.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this team was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this team.", "format": "uuid", "nullable": true }, "userIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the users in the team.", "nullable": true }, "projectIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the projects in the team.", "nullable": true } }, "additionalProperties": false, "description": "The team GET model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-admin": "true" } }, "/teams/{teamId}": { "get": { "tags": [ "Teams" ], "summary": "Returns the team with the specified id.", "description": "Returns the team with the specified id.\r\nReturns NotFound if the team doesn't exist.", "parameters": [ { "name": "teamId", "in": "path", "description": "The id of the team.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "includeUserIds", "in": "query", "description": "Whether the user ids should be included.", "schema": { "type": "boolean", "default": false } }, { "name": "includeProjectIds", "in": "query", "description": "Whether the project ids should be included.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" }, "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this team was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this team.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this team was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this team.", "format": "uuid", "nullable": true }, "userIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the users in the team.", "nullable": true }, "projectIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the projects in the team.", "nullable": true } }, "additionalProperties": false, "description": "The team GET model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "Teams" ], "summary": "Updates the team with the specified id.", "description": "Updates the team with the specified id.\r\nOnly updates properties which are not null or whitespace.", "parameters": [ { "name": "teamId", "in": "path", "description": "The id of the team.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "includeUserIds", "in": "query", "description": "Whether the user ids should be included.", "schema": { "type": "boolean", "default": false } }, { "name": "includeProjectIds", "in": "query", "description": "Whether the project ids should be included.", "schema": { "type": "boolean", "default": false } } ], "requestBody": { "description": "The new team values.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "The team POST/PUT model." } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "The team POST/PUT model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 255, "minLength": 0, "type": "string", "description": "The team name.", "example": "Designers" }, "icon": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait',\r\n'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies',\r\n'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore',\r\n'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff',\r\n'map', 'local_dining'.", "nullable": true, "example": "image" }, "color": { "maxLength": 14, "minLength": 0, "type": "string", "description": "The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure',\r\n'purple', 'violet'.", "nullable": true, "example": "purple" }, "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this team was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this team.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this team was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this team.", "format": "uuid", "nullable": true }, "userIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the users in the team.", "nullable": true }, "projectIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the projects in the team.", "nullable": true } }, "additionalProperties": false, "description": "The team GET model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-admin": "true" }, "delete": { "tags": [ "Teams" ], "summary": "Deletes the team with the specified id.", "description": "Deletes the team with the specified id.\r\nDeletes all related UserInTeamEntities and ProjectInTeamEntities as well.", "parameters": [ { "name": "teamId", "in": "path", "description": "The id of the team.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-admin": "true" } }, "/teams/{teamId}/addusers": { "post": { "tags": [ "Teams" ], "summary": "Adds users to a team.", "description": "Returns the created user in team entities.\r\nThrows BadRequestException if user ids are null or empty.\r\nThrows IllegalOperationException if users fetched from ids failed, returned no users or misses a user from the userIds.", "parameters": [ { "name": "teamId", "in": "path", "description": "The team id.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of users to add.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "teamId": { "type": "string", "description": "The id of the team.", "format": "uuid" } }, "additionalProperties": false, "description": "The user in team model assigns accounts to teams." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-admin": "true" } }, "/teams/{teamId}/removeusers": { "post": { "tags": [ "Teams" ], "summary": "Removes users from a team.", "parameters": [ { "name": "teamId", "in": "path", "description": "The team id.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of users to remove.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-admin": "true" } }, "/teams/{teamId}/addprojects": { "post": { "tags": [ "Teams" ], "summary": "Adds projects to a team.", "description": "Returns the created project in team entities.\r\nThrows BadRequestException if project ids are null or empty.\r\nThrows IllegalOperationException if projects fetched from ids failed or returned no projects.\r\nThrwos IllegalOperationException if projects are already connected to the team.\r\nOnly creates the project in team entities for projects the user has 'write' permissions of feature\r\n'project-master-data' for or is the owner.", "parameters": [ { "name": "teamId", "in": "path", "description": "The team id.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of the projects to add.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid" }, "teamId": { "type": "string", "description": "The id of the team.", "format": "uuid" } }, "additionalProperties": false, "description": "The user in team model assigns accounts to teams." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/teams/{teamId}/removeprojects": { "post": { "tags": [ "Teams" ], "summary": "Removes projects from a team.", "description": "Throws BadRequestException if project ids are null or empty.\r\nThrows BadRequestException if no project in teams could be found for supplied project ids.\r\nValidates the project ids by checking if entries exists for that project in the database.", "parameters": [ { "name": "teamId", "in": "path", "description": "The team id.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of projects to remove.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/{timeEntryId}": { "delete": { "tags": [ "TimeEntries" ], "summary": "Deletes the time entry with the specified id.", "description": "Deletes the time entry with the specified id.\n Depending on the time entry, the calling users has to have several permissions to delete the time entry.\n No permissions are required if the calling user is owner of this time entry.\n If the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\n permissions\n on the 'project-timetracking' feature are necessary.\n If the time entry is billed, Admin permissions are required.", "parameters": [ { "name": "timeEntryId", "in": "path", "description": "The id of the time entry.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "get": { "tags": [ "TimeEntries" ], "summary": "Returns the time entries with the specified id.", "description": "Returns the time entry with the specified id.\n Depending on the time entry, the calling users has to have several permissions to get the time entry.\n No permissions are required if the calling user is owner of this time entry.\n If the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\n permissions\n on the 'project-timetracking' feature are necessary.\n If the time entry is connected to a task, the user needs\n to be assignee of this task or the user needs permissions on:\n 'project-planning-data' if it is a project task.", "parameters": [ { "name": "timeEntryId", "in": "path", "description": "The id of the time entry.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "breaks": { "type": "array", "items": { "type": "object", "properties": { "startDate": { "type": "string", "description": "The start date and time of the break in UTC. Required.", "format": "date-time" }, "duration": { "type": "integer", "description": "The duration of the break in seconds. Required when the end date is set.\r\nWhen a timetracking is paused, it has at least one break with a startdate and no duration and end date.", "format": "int32", "nullable": true }, "endDate": { "type": "string", "description": "The end date and time of the break in UTC. Required when the duration is set and the break is finished.", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "The break model. Shows when a timetracking was paused." }, "description": "The breaks of the time tracking.", "nullable": true } }, "additionalProperties": false, "description": "The extended time tracking model. Includes break information.\r\nShould not be used for paged endpoints." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TimeEntries" ], "summary": "Updates the time entry with the specified id.", "description": "Updates the time entry with the specified id.\n Depending on the time entry, the calling users has to have several permissions to update the time entry:\n No permissions are required if the calling user is owner of this time entry.\n If the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\n permissions\n on the 'project-timetracking' feature are necessary.\n If the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on:\n 'project-planning-data' if it is a project task.\n The break duration of the time entry is kept the same. The break duration cannot be smaller than the duration of the\n time entry. To remove the breaks, use the endpoint POST /timeentries/{id}/removeBreaks.\n Following combination of times and duration are allowed for already completed time entries:\n - start time (local or utc) and end time (local or utc) (this option always takes precedence)\n - start time (local or utc) and duration\n - end time (local or utc) and duration\n For running time entries, you can only update the start time (local or utc) while the duration stays 0.", "parameters": [ { "name": "timeEntryId", "in": "path", "description": "The id of the time entry.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the time entry with the specified id.", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries": { "get": { "tags": [ "TimeEntries" ], "summary": "Returns all time entries.", "description": "Returns all time entries.\n Depending on the time entry, the calling users has to have several permissions to get the time entry.\n No permissions are required if the calling user is owner of this time entry.\n If the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\n permissions\n on the 'project-timetracking' feature are necessary.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TimeEntries" ], "summary": "Creates a new time entry.", "description": "Creates a new time entry.\n Depending on the time entry, the calling users has to have several permissions to create the time entry.\n No permissions are required if the calling user is owner of this time entry.\n If the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\n permissions\n on the 'project-timetracking' feature are necessary.\n If the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on:\n 'project-planning-data' if it is a project task.", "requestBody": { "description": "The model to create a time entry.", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/simplified": { "get": { "tags": [ "TimeEntries" ], "summary": "Returns all time entries with a simplified model.", "description": "", "parameters": [ { "name": "grouping", "in": "query", "description": "The group by param.", "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/batch/{operation}": { "post": { "tags": [ "TimeEntries" ], "summary": "Batch edits multiple time entries at once for a given operation. The user is only allowed to edit a time entry if they\n have\n permissions for it. The same applies to related entities like projects, tasks, and users.", "description": "Returns MultiStatus. Includes the list of successfully changed, not found, unauthorized, and invalid time entry ids.\n Returns BadRequest if the validation of the form fails, f.e. the new type of work cannot be found.\n Supported Operations:\n delete: Deletes all time entries. Only admins can delete already billed time entries.\n setTypeOfWork: Changes the type of work for a list of time entries. TODO: check if only admins should be able to change\n for billed.\n setIsBillable: Changes the billability for a list of time entries. Already billed time entries can only be changed to\n being unbillable by admins. In this case, the IsBilled flag is also set to false.\n setIsBilled: Changes the billing status for a list of time entries. Only admins can change the billing status back to\n unbilled for already billed time entries.\n setProject: Changes the project for a list of time entries. Only admins can change the project for already billed time\n entries. Setting the project unsets the previous project and task.\n setTask: Changes the task for a list of time entries. Only admins can change the task for already billed time entries.\n Setting the task automatically sets the project if that task is a project task.\n setUser: Changes the user for a list of time entries. Only admins can change the user for already billed time entries.", "parameters": [ { "name": "operation", "in": "path", "description": "The name of the operation to execute on the given time entries. Valid values are: delete,\r\nsetTypeOfWork, setIsBillable, setIsBilled, setProject, setTask, setUser.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The form with additional info for the batch operation.", "content": { "application/json": { "schema": { "required": [ "timeEntryIds" ], "type": "object", "properties": { "timeEntryIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of time entry ids to perform the batch operation on." }, "newTypeOfWorkId": { "type": "string", "description": "The id of the new type of work. Required for operation 'setTypeOfWork'.", "format": "uuid", "nullable": true }, "isBillable": { "type": "boolean", "description": "Set the billable flag for time entries. Required for operation 'setIsBillable'.", "nullable": true }, "isBilled": { "type": "boolean", "description": "Set the billed flag for time entries. Required for operation 'setIsBilled'.", "nullable": true }, "newUserId": { "type": "string", "description": "The id of the new user to assign the time entries to. Required for operation 'setUser'.", "format": "uuid", "nullable": true }, "newProjectId": { "type": "string", "description": "The id of the new project to assign the time entries to. Required for operation 'setProject'.", "format": "uuid", "nullable": true }, "newTaskId": { "type": "string", "description": "The id of the new task to assign the time entries to. Required for operation 'setTask'.", "format": "uuid", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "notFound": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "unauthorized": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "badRequest": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "207": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "notFound": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "unauthorized": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "badRequest": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/{timeEntryId}/removebreaks": { "post": { "tags": [ "TimeEntries" ], "summary": "Removes all finished breaks of the time entry. A currently running break is not removed.", "description": "", "parameters": [ { "name": "timeEntryId", "in": "path", "description": "The id of the time entry.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/delete": { "post": { "tags": [ "TimeEntries" ], "summary": "Deletes the time entry with the specified ids.\r\nThis endpoint is deprecated, please use the batch endpoint POST /timeentries/batch/delete instead.", "description": "Deletes the time entries with the specified ids.\r\nDepending on the time entry, the calling users has to have several permissions to delete the time entries.\r\nNo permissions are required if the calling user is owner of this time entry.\r\nIf the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\r\npermissions\r\non the 'project-timetracking' feature are necessary.\r\nIf the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on:\r\n'project-planning-data' if it is a project task.\r\nIf the time entry is billed, Admin permissions are required.", "requestBody": { "description": "The model for ids of the time entries.", "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be deleted.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be deleted.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/setbilled": { "post": { "tags": [ "TimeEntries" ], "summary": "Sets the time entries with the specified ids to billed.", "description": "Depending on the time entry, the calling users has to have several permissions to edit the time entries.\r\nNo permissions are required if the calling user is owner of this time entry.\r\nIf the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\r\npermissions\r\non the 'project-timetracking' feature are necessary.\r\nIf the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on:\r\n'project-planning-data' if it is a project task.\r\nIf the time entry is billed, the permissions can be ignored because there is no change.", "requestBody": { "description": "The model for ids of the time entries.", "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billed.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billed.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/setunbilled": { "post": { "tags": [ "TimeEntries" ], "summary": "Sets the time entries with the specified ids to unbilled.", "description": "For setting already billed time entries to unbilled, the user needs to have admin permissions.", "requestBody": { "description": "The model for ids of the time entries.", "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billed.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billed.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/setunbillable": { "post": { "tags": [ "TimeEntries" ], "summary": "Sets the time entries with the specified ids to to unbillable.", "description": "Already billed time entries cannot be set to unbillable -> Badrequest\r\nDepending on the time entry, the calling users has to have several permissions to edit the time entries.\r\nNo permissions are required if the calling user is owner of this time entry.\r\nIf the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\r\npermissions\r\non the 'project-timetracking' feature are necessary.\r\nIf the time entry is connected to a task, the user needs to be assignee of this task or the user needs write\r\npermissions on:\r\n'project-timetracking' if it is a project task.", "requestBody": { "description": "The model for ids of the time entries.", "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billable.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billable.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/setbillable": { "post": { "tags": [ "TimeEntries" ], "summary": "Sets the time entries with the specified ids to to billable.", "description": "Depending on the time entry, the calling users has to have several permissions to edit the time entries.\r\nNo permissions are required if the calling user is owner of this time entry.\r\nIf the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\r\npermissions\r\non the 'project-timetracking' feature are necessary.\r\nIf the time entry is connected to a task, the user needs to be assignee of this task or the user needs 'write'\r\npermissions on:\r\n'project-timetracking' if it is a project task.", "requestBody": { "description": "The model for ids of the time entries.", "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billable.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, which should be set to billable.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timeentries/settypeofwork": { "post": { "tags": [ "TimeEntries" ], "summary": "Sets the type of work of the specified timeentries.", "description": "Depending on the time entry, the calling users has to have several permissions to edit the time entries.\r\nNo permissions are required if the calling user is owner of this time entry.\r\nIf the calling user is not the creator of the time entry and the time entry is connected to a project, 'write'\r\npermissions\r\non the 'project-timetracking' feature are necessary.\r\nIf the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on:\r\n'project-planning-data' if it is a project task.", "requestBody": { "description": "The model for ids of the time entries.", "content": { "application/json": { "schema": { "required": [ "typeOfWorkId" ], "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, for which the type of work should be set.", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The type of work id, to which the time entries should be set to.", "format": "uuid" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "typeOfWorkId" ], "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of the time entries, for which the type of work should be set.", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The type of work id, to which the time entries should be set to.", "format": "uuid" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "deprecated": true, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/timeentries/last": { "get": { "tags": [ "TimeEntries" ], "summary": "Returns the last time entry of a specified user.", "description": "The last time entry is always the last one that was started.\r\nTime entries which are started in the future are ignored.\r\nIf a time entry does not have a start time, 12.00 am is automatically assumed as the start time\r\nfor comparison with other time entries from the same day.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required if the me route is used.", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "breaks": { "type": "array", "items": { "type": "object", "properties": { "startDate": { "type": "string", "description": "The start date and time of the break in UTC. Required.", "format": "date-time" }, "duration": { "type": "integer", "description": "The duration of the break in seconds. Required when the end date is set.\r\nWhen a timetracking is paused, it has at least one break with a startdate and no duration and end date.", "format": "int32", "nullable": true }, "endDate": { "type": "string", "description": "The end date and time of the break in UTC. Required when the duration is set and the break is finished.", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "The break model. Shows when a timetracking was paused." }, "description": "The breaks of the time tracking.", "nullable": true } }, "additionalProperties": false, "description": "The extended time tracking model. Includes break information.\r\nShould not be used for paged endpoints." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/users/{userId}/timeentries/last": { "get": { "tags": [ "TimeEntries" ], "summary": "Returns the last time entry of a specified user.", "description": "The last time entry is always the last one that was started.\r\nTime entries which are started in the future are ignored.\r\nIf a time entry does not have a start time, 12.00 am is automatically assumed as the start time\r\nfor comparison with other time entries from the same day.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required if the me route is used.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "breaks": { "type": "array", "items": { "type": "object", "properties": { "startDate": { "type": "string", "description": "The start date and time of the break in UTC. Required.", "format": "date-time" }, "duration": { "type": "integer", "description": "The duration of the break in seconds. Required when the end date is set.\r\nWhen a timetracking is paused, it has at least one break with a startdate and no duration and end date.", "format": "int32", "nullable": true }, "endDate": { "type": "string", "description": "The end date and time of the break in UTC. Required when the duration is set and the break is finished.", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "The break model. Shows when a timetracking was paused." }, "description": "The breaks of the time tracking.", "nullable": true } }, "additionalProperties": false, "description": "The extended time tracking model. Includes break information.\r\nShould not be used for paged endpoints." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/timereports": { "get": { "tags": [ "TimeReports" ], "summary": "Returns all time reports of a user.", "description": "Returns time reports the user created as well as the shared time reports of\r\nother users.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true }, "id": { "type": "string", "description": "The id of the time report.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this time report was updated.", "format": "date-time" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TimeReports" ], "summary": "Creates a new time report.", "description": "Creates a new time report.", "requestBody": { "description": "The model to create the time report.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true }, "id": { "type": "string", "description": "The id of the time report.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this time report was updated.", "format": "date-time" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/timereports/{timeReportId}": { "get": { "tags": [ "TimeReports" ], "summary": "Returns time reports of the specified id.", "description": "The id of the time report.\r\n Returns time reports of the specified id.", "parameters": [ { "name": "timeReportId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true }, "id": { "type": "string", "description": "The id of the time report.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this time report was updated.", "format": "date-time" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TimeReports" ], "summary": "Updates a time report.", "description": "Updates the time report of the specified id.", "parameters": [ { "name": "timeReportId", "in": "path", "description": "The id of the time report.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the time report.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the time report.", "nullable": true, "example": "Project report for March 2022" }, "shared": { "type": "boolean", "description": "Whether the time report is shared.", "example": true }, "dateMode": { "type": "string", "description": "The date mode of the time report.\r\nCan be: \"today\", \"yesterday\", \"selectDate\",\r\n\"selectWeek\", \"currentWeek\", \"lastWeek\",\r\n\"selectMonth\", \"currentMonth\", \"lastMonth\",\r\n\"selectQuarter\", \"currentQuarter\", \"lastQuarter\",\r\n\"selectYear\", \"currentYear\", \"lastYear\",\r\n\"customRange\", \"noFilter\".", "nullable": true, "example": "lastMonth" }, "startOn": { "type": "string", "description": "The start date time of the report\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "endOn": { "type": "string", "description": "The end date time of the time report.\r\nwhen DateMode is \"customRange\".", "format": "date-time", "nullable": true, "example": null }, "filter": { "type": "string", "description": "The generated filter query of the time report.", "nullable": true, "example": "projectId eq guid'b870a84e-c7fa-e711-80c2-00155d3163ca'" }, "chartType": { "type": "string", "description": "The actual chart type of the time report.\r\nCan be: \"group\" or \"time\".", "nullable": true, "example": "group" }, "projectId": { "type": "string", "description": "The id of the project of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "companyId": { "type": "string", "description": "The id of the company of the time report.\r\nUsed for the pdf reports.", "format": "uuid", "nullable": true }, "sumBy": { "type": "string", "description": "Summarises the values by the sum of this property.", "nullable": true, "example": "UserId" }, "sortBy": { "type": "string", "description": "Sorts the values by this property.", "nullable": true, "example": "CreatedOn" }, "sortByOrder": { "type": "string", "description": "The way how to sort the data.\r\nCan be: \"asc\", desc\".", "nullable": true, "example": "asc" }, "roundBy": { "type": "string", "description": "Rounding method of the time report.\r\nCan be:\r\n\"nearQuarter\", \"nearHalf\", \"nearHour\",\r\n\"upQuarter\", \"upHalf\", \"upHour\".", "nullable": true, "example": "upHour" }, "groupBy": { "type": "string", "description": "Group the values by property.", "nullable": true, "example": null }, "sortColumn": { "type": "string", "description": "Sort the values of the time report by a column.", "nullable": true, "example": null }, "availableColumns": { "type": "array", "items": { "type": "string" }, "description": "List of shown Columns in the time report.\r\nCan be: \"status\", \"duration\", \"task\", \"timeTrackingNote\", \"typeOfWork\",\r\n\"project\", \"date\", \"time\", \"user\", \"client\", \"projectType\", \"projectRole\".", "nullable": true, "example": [ "duration", "user" ] }, "billingStatuses": { "type": "array", "items": { "type": "string" }, "description": "Filter of bill satuses of the time report.\r\nCan be: \"billed\", \"notBilled\", \"notBillable\".", "nullable": true, "example": [ "notBilled" ] }, "note": { "type": "string", "description": "Filter time entries by note.", "nullable": true, "example": null }, "usersFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by users.", "nullable": true }, "projectsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects.", "nullable": true }, "noProjectFilter": { "type": "boolean", "description": "Filter to show also time entries without a project.", "nullable": true, "example": null }, "projectCompaniesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the companies.", "nullable": true }, "projectTypesFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter time entries by projects of the type.", "nullable": true }, "projectStatusesNameFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status name.", "nullable": true }, "projectStatusTypesFilter": { "type": "array", "items": { "type": "string" }, "description": "Filter time entries by projects with status of type.", "nullable": true }, "projectTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of teams, to the filter the projects for.", "nullable": true }, "userTeamsFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Filter for the teams to filter the users.", "nullable": true }, "taskTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the task.", "nullable": true }, "projectTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the project.", "nullable": true }, "userTagsModelFilter": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "entityId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "Filter time entries by the tags of the users.", "nullable": true }, "typesOfWorkFilter": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "Group the time report by the type of works.", "nullable": true }, "id": { "type": "string", "description": "The id of the time report.", "format": "uuid" }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "updatedOn": { "type": "string", "description": "The date this time report was updated.", "format": "date-time" }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "TimeReports" ], "summary": "Deletes a time report.", "description": "Deletes the time report of the specified id.", "parameters": [ { "name": "timeReportId", "in": "path", "description": "The id of the time report.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/me/timetracking/pause": { "post": { "tags": [ "TimeTracking" ], "summary": "Pauses a running time tracking for a user.", "description": "If there is already a paused time tracking nothing happens. If there is no running time tracking, returns NoContent.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required if the me route is used.", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/users/{userId}/timetracking/pause": { "post": { "tags": [ "TimeTracking" ], "summary": "Pauses a running time tracking for a user.", "description": "If there is already a paused time tracking nothing happens. If there is no running time tracking, returns NoContent.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required if the me route is used.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/me/timetracking/resume": { "post": { "tags": [ "TimeTracking" ], "summary": "Resumes a paused time tracking for a user.", "description": "If there is already a running time tracking nothing happens. If there is no running time tracking, returns NoContent.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required if the me route is used.", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/users/{userId}/timetracking/resume": { "post": { "tags": [ "TimeTracking" ], "summary": "Resumes a paused time tracking for a user.", "description": "If there is already a running time tracking nothing happens. If there is no running time tracking, returns NoContent.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required if the me route is used.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/me/timetracking/start": { "post": { "tags": [ "TimeTracking" ], "summary": "Starts a new time tracking for a user.", "description": "If there is already a running/paused time tracking it will be stopped automatically in order to start the new one.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required if the me route is used.", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to start a time tracking.", "content": { "application/json": { "schema": { "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of the time tracking.\r\nRequired.", "format": "uuid" }, "timezone": { "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "nullable": true, "example": "Europe/London" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/users/{userId}/timetracking/start": { "post": { "tags": [ "TimeTracking" ], "summary": "Starts a new time tracking for a user.", "description": "If there is already a running/paused time tracking it will be stopped automatically in order to start the new one.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required if the me route is used.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to start a time tracking.", "content": { "application/json": { "schema": { "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of the time tracking.\r\nRequired.", "format": "uuid" }, "timezone": { "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "nullable": true, "example": "Europe/London" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/me/timetracking/stop": { "post": { "tags": [ "TimeTracking" ], "summary": "Stops the currently running time tracking of the specified user.", "description": "There is no request body necessary for this operation.\n For this operation to work there must be a running time tracking for the user.", "parameters": [ { "name": "userId", "in": "query", "description": "The id of the user. Not required if the me route is used.", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/users/{userId}/timetracking/stop": { "post": { "tags": [ "TimeTracking" ], "summary": "Stops the currently running time tracking of the specified user.", "description": "There is no request body necessary for this operation.\n For this operation to work there must be a running time tracking for the user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user. Not required if the me route is used.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "timezone", "typeOfWorkId", "userId" ], "type": "object", "properties": { "isBillable": { "type": "boolean", "description": "Whether the time tracking is billable or not.", "example": true }, "isBilled": { "type": "boolean", "description": "Whether the time tracking is billed or not.", "example": false }, "taskId": { "type": "string", "description": "The id of the task.", "format": "uuid", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project.", "format": "uuid", "nullable": true }, "note": { "type": "string", "description": "The note of the time tracking.", "nullable": true, "example": "I created a first draft for the new sitemap" }, "startDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00Z" }, "startTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was started.", "nullable": true, "example": "09:21:00" }, "endDateUtc": { "type": "string", "description": "The date (in UTC) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T18:21:05Z" }, "endTimeUtc": { "type": "string", "description": "The time (in UTC) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "11:45:00" }, "startDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was started.\r\nRequired.", "format": "date-time", "nullable": true, "example": "2022-03-01T00:00:00" }, "startTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was started.", "nullable": true, "example": "10:21:00" }, "endDateLocal": { "type": "string", "description": "The date (in Local) when the time tracking was stopped.", "format": "date-time", "nullable": true, "example": "2022-03-01T17:21:05" }, "endTimeLocal": { "type": "string", "description": "The time (in Local) when the time tracking was stopped.\r\nRequired when the time tracking has already been completed and Duration has not been set.", "nullable": true, "example": "12:45:00" }, "timezone": { "minLength": 1, "type": "string", "description": "The original timezone of the time tracking.\r\nThe format of the timezone is the IANA standard.\r\nRequired.", "example": "Europe/Berlin" }, "duration": { "type": "integer", "description": "The duration of the time tracking in seconds.\r\nRequired when the time tracking has already been completed and EndTime has not been set.", "format": "int32", "nullable": true, "example": 8635 }, "breakDuration": { "type": "integer", "description": "The duration of the break in seconds.\r\nCannot be set via API.", "format": "int32", "nullable": true }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work.\r\nRequired.", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user.\r\nRequired.", "format": "uuid" }, "id": { "type": "string", "description": "The id of the time tracking.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created this time tracking.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this time tracking was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this time tracking.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this time tracking was last modified.", "format": "date-time" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "user": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings UserModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the user.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the user.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "nullable": true, "example": 21600 }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true }, "icon": { "type": "string", "nullable": true } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "description": "The list of assigned users of this task, or empty if no user is assigned.", "nullable": true, "deprecated": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings TaskModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true, "deprecated": true }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the timetrackings ProjectModelForTimeTrackings.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of the project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The teams of the project.", "nullable": true, "deprecated": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private.", "example": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true } }, "additionalProperties": false }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 } }, "additionalProperties": false, "description": "The time tracking model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true" } }, "/typeofwork/{id}": { "get": { "tags": [ "TypeOfWork" ], "summary": "Gets a single type of work by its id.", "description": "Gets a type of work.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the type of work.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TypeOfWork" ], "summary": "Changes the properties of an existing type of work.\r\nA change will also effect all related tasks and time entries.", "parameters": [ { "name": "id", "in": "path", "description": "Id of the type which will be changed.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The type of work with the changed properties.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The names of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" } }, "additionalProperties": false, "description": "The PUT task type model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The names of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" } }, "additionalProperties": false, "description": "The PUT task type model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/typeofwork": { "get": { "tags": [ "TypeOfWork" ], "summary": "Gets all types of work.", "description": "Returns all type of work.", "parameters": [ { "name": "showArchived", "in": "query", "description": "Include archived types of work in the results. Not required. False by default.", "schema": { "type": "boolean", "default": false } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TypeOfWork" ], "summary": "Creates a new type of work.", "description": "Creates a new type of work.", "requestBody": { "description": "The type of work to create.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The names of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" } }, "additionalProperties": false, "description": "The PUT task type model." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The names of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" } }, "additionalProperties": false, "description": "The PUT task type model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-task-manage-config": [ "write" ] } }, "/typeofwork/icons": { "get": { "tags": [ "TypeOfWork" ], "summary": "Gets all possible icons for type of work.", "description": "Returns all possible icons for type of work.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/typeofwork/{typeOfWorkId}/delete": { "post": { "tags": [ "TypeOfWork" ], "summary": "Deletes the type of work with the specified id.", "description": "Deletes the type of work with the specified id.\r\nIf any tasks, task templates or time entries still use this type, the id of a new type needs to be provided.", "parameters": [ { "name": "typeOfWorkId", "in": "path", "description": "The id of the task type.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to delete the task type.", "content": { "application/json": { "schema": { "type": "object", "properties": { "typeOfWorkId": { "type": "string", "description": "The id of the new task type.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The model to delete a task type." } }, "application/*+json": { "schema": { "type": "object", "properties": { "typeOfWorkId": { "type": "string", "description": "The id of the new task type.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The model to delete a task type." } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/typeofwork/{typeOfWorkId}/setarchived": { "post": { "tags": [ "TypeOfWork" ], "summary": "Archives or unarchives the type of work with the specified id.", "description": "Archives or unarchives the type of work with the specified id.\r\nAn archived type of work still exists for all tasks and time entries currently using it,\r\nbut can no longer be created with this type of work.", "parameters": [ { "name": "typeOfWorkId", "in": "path", "description": "Id of the type of work which will be archived.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to archive the type of work.", "content": { "application/json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the task type.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task type.", "nullable": true, "example": "Sales Work" }, "description": { "type": "string", "description": "A short (max. 140 characters) description of the task type.", "nullable": true, "example": "Tasks related to sales dept." }, "icon": { "type": "string", "description": "The icon associated with this task type.", "nullable": true, "example": "attach_money" }, "isArchived": { "type": "boolean", "description": "Whether the type of work has been archived." }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-10T16:25:09.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T18:55:00.500Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false, "description": "The task type model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/users": { "get": { "tags": [ "Users" ], "summary": "Returns all users.", "description": "Returns all users with their details like status, contact info and more.\r\nReturns all users if the user has read permissions on the feature\r\nuser-master-data, otherwise returns only his own user.\r\nArchived users are excluded by default. You can include them by setting the 'showArchived' query parameter.\r\nIf the permissions have UserTeamsData Feature, the filter for teams is applied.\r\nBeware that this will also include API users in the response.", "parameters": [ { "name": "showArchived", "in": "query", "description": "Include archived users in the results. Not required. False by default.", "schema": { "type": "boolean", "default": false } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" }, "id": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "status": { "type": "object", "properties": { "invitationAccepted": { "type": "boolean", "description": "Flag if the user in this workspace accepted the invitation." }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated." } }, "additionalProperties": false, "description": "The status of the user." }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether this user is archived.\r\nArchived users are automatically inactive and only exist for reference purposes.", "example": false }, "isDeactivated": { "type": "boolean", "description": "Whether the user has been deactivated.", "example": false }, "deactivatedOn": { "type": "string", "description": "The date the user was deactivated.", "format": "date-time", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the user has uploaded a profile image.", "example": true }, "userContactInfos": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." }, "description": "The contact information assigned to this user.", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of this user.", "nullable": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the user is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The user model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}": { "get": { "tags": [ "Users" ], "summary": "Returns the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" }, "id": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "status": { "type": "object", "properties": { "invitationAccepted": { "type": "boolean", "description": "Flag if the user in this workspace accepted the invitation." }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated." } }, "additionalProperties": false, "description": "The status of the user." }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether this user is archived.\r\nArchived users are automatically inactive and only exist for reference purposes.", "example": false }, "isDeactivated": { "type": "boolean", "description": "Whether the user has been deactivated.", "example": false }, "deactivatedOn": { "type": "string", "description": "The date the user was deactivated.", "format": "date-time", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the user has uploaded a profile image.", "example": true }, "userContactInfos": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." }, "description": "The contact information assigned to this user.", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of this user.", "nullable": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the user is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The user model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "read" ] }, "put": { "tags": [ "Users" ], "summary": "Updates the user with the specified id.", "description": "Updates the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The new user values.", "content": { "application/json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" } }, "additionalProperties": false, "description": "The model to create a new user." } }, "application/*+json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" } }, "additionalProperties": false, "description": "The model to create a new user." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" }, "id": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "status": { "type": "object", "properties": { "invitationAccepted": { "type": "boolean", "description": "Flag if the user in this workspace accepted the invitation." }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated." } }, "additionalProperties": false, "description": "The status of the user." }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether this user is archived.\r\nArchived users are automatically inactive and only exist for reference purposes.", "example": false }, "isDeactivated": { "type": "boolean", "description": "Whether the user has been deactivated.", "example": false }, "deactivatedOn": { "type": "string", "description": "The date the user was deactivated.", "format": "date-time", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the user has uploaded a profile image.", "example": true }, "userContactInfos": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." }, "description": "The contact information assigned to this user.", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of this user.", "nullable": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the user is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true } }, "additionalProperties": false, "description": "The user model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "write" ] }, "delete": { "tags": [ "Users" ], "summary": "Deletes the user with the specified id.", "description": "Deletes the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-user-manage-config": [ "delete" ] } }, "/users/me": { "get": { "tags": [ "Users" ], "summary": "Returns the currently logged-in user and workspace.", "description": "Returns the currently logged-in user, including workspace information.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" }, "id": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "status": { "type": "object", "properties": { "invitationAccepted": { "type": "boolean", "description": "Flag if the user in this workspace accepted the invitation." }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated." } }, "additionalProperties": false, "description": "The status of the user." }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether this user is archived.\r\nArchived users are automatically inactive and only exist for reference purposes.", "example": false }, "isDeactivated": { "type": "boolean", "description": "Whether the user has been deactivated.", "example": false }, "deactivatedOn": { "type": "string", "description": "The date the user was deactivated.", "format": "date-time", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the user has uploaded a profile image.", "example": true }, "userContactInfos": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." }, "description": "The contact information assigned to this user.", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of this user.", "nullable": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the user is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true }, "accountId": { "type": "string", "description": "The account id of the user.\r\nOnly used internally.", "format": "uuid", "nullable": true }, "workspace": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the current workspace.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the current workspace.", "nullable": true, "example": "NCNSTN" }, "url": { "type": "string", "description": "The default URL of the current workspace.", "nullable": true, "example": "https://ncnstn.awork.com" } }, "additionalProperties": false, "description": "The user's current workspace model." } }, "additionalProperties": false, "description": "The user and workspace model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/deactivate": { "post": { "tags": [ "Users" ], "summary": "Deactivates the user with the specified id.", "description": "Deactivates the user with the specified id.\r\nA deactivated user can no longer sign in.\r\nIt is only possible if the user is not the last admin user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-user-manage-config": [ "write" ] } }, "/users/{userId}/activate": { "post": { "tags": [ "Users" ], "summary": "Activates the user with the specified id.", "description": "Activates the user with the specified id.\r\nThe user is then allowed to sign in again and will be notified via email.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-user-manage-config": [ "write" ] } }, "/users/{userId}/setarchived": { "post": { "tags": [ "Users" ], "summary": "Archives or unarchives the user with the specified id.", "description": "Archived objects can not be used any longer but still exist for being referenced by other entities.", "parameters": [ { "name": "userId", "in": "path", "description": "Id of the user which will be changed.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The archiving model object.", "content": { "application/json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "firstName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The firstname of the user.", "nullable": true, "example": "Carla" }, "lastName": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The lastname of the user.", "nullable": true, "example": "Creative" }, "birthDate": { "type": "string", "description": "The birthdate of the user.", "format": "date-time", "nullable": true, "example": "1998-04-19T00:00:000Z" }, "gender": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The gender of the user.", "nullable": true, "example": "female" }, "title": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The title of the user.", "nullable": true, "example": "Miss" }, "position": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The position of the user.", "nullable": true }, "language": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The language preference of the user in ISO 639-1 format.", "nullable": true, "example": "en-GB" }, "id": { "type": "string", "description": "The id of the user.", "format": "uuid" }, "status": { "type": "object", "properties": { "invitationAccepted": { "type": "boolean", "description": "Flag if the user in this workspace accepted the invitation." }, "isDeactivated": { "type": "boolean", "description": "Whether the user is deactivated." } }, "additionalProperties": false, "description": "The status of the user." }, "createdOn": { "type": "string", "description": "The date this user was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this user.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date when this user was last updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the entity.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether this user is archived.\r\nArchived users are automatically inactive and only exist for reference purposes.", "example": false }, "isDeactivated": { "type": "boolean", "description": "Whether the user has been deactivated.", "example": false }, "deactivatedOn": { "type": "string", "description": "The date the user was deactivated.", "format": "date-time", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the user has uploaded a profile image.", "example": true }, "userContactInfos": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." }, "description": "The contact information assigned to this user.", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598057900 }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The tags of this user.", "nullable": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the team.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the team.", "nullable": true, "example": "Designers" }, "icon": { "type": "string", "description": "The icon which is assigned to the team.", "nullable": true, "example": "paintbrush" }, "color": { "type": "string", "description": "The color of the team.", "nullable": true, "example": "purple" } }, "additionalProperties": false }, "description": "The teams the user is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if this entity is coming from an external workspace (awork Connect).", "example": true }, "accountId": { "type": "string", "description": "The account id of the user.\r\nOnly used internally.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The extended user model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/users/{userId}/contactinfo": { "get": { "tags": [ "Users" ], "summary": "Returns the contact infos of the user with the specified id.", "description": "Returns the contact infos of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "read" ] }, "post": { "tags": [ "Users" ], "summary": "Creates a new contact info for the user with the specified id.", "description": "Creates a new contact info for the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The contact info to create.", "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } }, "application/*+json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "write" ] } }, "/users/{userId}/contactinfo/{contactInfoId}": { "get": { "tags": [ "Users" ], "summary": "Returns the contact info of the user with the specified id.", "description": "Returns the contact info of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "contactInfoId", "in": "path", "description": "The id of the contact info.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "read" ] }, "put": { "tags": [ "Users" ], "summary": "Updates the contact info of the user with the specified id.", "description": "Updates the contact info of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "contactInfoId", "in": "path", "description": "The id of the contact info.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The contact info model.", "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } }, "application/*+json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The label of the contact info.\r\nOnly necessary if type 'custom' is used.", "nullable": true, "example": null }, "value": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The value of the contact info.", "nullable": true, "example": null }, "type": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The type of the contact info. Possible values are: phone, email, address, messenger, social, urls.", "nullable": true, "example": "address" }, "subType": { "maxLength": 25, "minLength": 0, "type": "string", "description": "The subtype of the contact info, Possible values are: Phone: [ 'work', 'mobile', 'home', 'work Fax', 'fax', 'other' ]\r\nEmail: [ 'work', 'private', 'other' ] address: [ 'work', 'home', 'other' ] Messenger: [ 'skype', 'whatsapp', 'other' ]\r\nsocial: [ 'facebook', 'twitter', 'xing', 'linkedIn', 'instagram', 'pinterest', 'other' ] urls: [ 'work', 'private',\r\n'gitHub', 'other' ].", "nullable": true, "example": "work" }, "addressLine1": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "The first Address line of the address.", "nullable": true, "example": "Torstrasse 140" }, "addressLine2": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The second address line of the contact info.", "nullable": true, "example": "Hof A" }, "zipCode": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The Zipcode of the contact info.", "nullable": true, "example": "10119" }, "city": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The city of the contact info.", "nullable": true, "example": "Berlin" }, "state": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The state of the contact info.", "nullable": true, "example": null }, "country": { "maxLength": 100, "minLength": 0, "type": "string", "description": "The 2 letter iso code of the country.", "nullable": true, "example": "DE" }, "isAddress": { "type": "boolean", "description": "Flags whether this contactinfo is an address or not. If its an address, the address fields are required.", "example": true }, "id": { "type": "string", "description": "The Id of the contact info.", "format": "uuid" }, "isDeleted": { "type": "boolean", "description": "Whether the user has been deleted.", "example": false }, "createdOn": { "type": "string", "description": "The creation date.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created the entity.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date when the entity was updated.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "the id of the user who updated the entity.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "The contact info are different types of contact information for a user." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "write" ] }, "delete": { "tags": [ "Users" ], "summary": "Deletes the contact info of the user with the specified id.", "description": "Deletes the contact info of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "contactInfoId", "in": "path", "description": "The id of the contact info.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-owner": "true", "x-access-user-master-data": [ "write" ] } }, "/users/{userId}/addtags": { "post": { "tags": [ "UserTags" ], "summary": "Adds a batch of new tags to the user with the specified id.", "description": "The request fails if one of the tags is invalid (e.g. empty or duplicate).\r\nTo create the tags the user needs 'write' permissions on the specified user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/updatetags": { "post": { "tags": [ "UserTags" ], "summary": "Updates a tag to the user with the specified id.", "description": "To update the tag the user needs 'write' permissions on the specified entity.", "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/{userId}/deletetags": { "post": { "tags": [ "UserTags" ], "summary": "Removes tags from the user with the specified id.", "description": "Removes tags from the project with the specified id.\r\nTo delete the tags the user needs 'write' permissions on the specified user.\r\nReturns 204 NoContent if all tags have been removed successfully.\r\nReturns 207 MultiStatus if at least one tag could not be removed, including the reasons.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/users/deletetags": { "post": { "tags": [ "UserTags" ], "summary": "Removes tag from all entities.", "description": "Removes tag from all projects.\r\nTo delete the tags the user needs 'write' permissions on the specified entity.\r\nReturns 204 NoContent if tag has been removed successfully.", "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/addtags": { "post": { "tags": [ "Tags" ], "summary": "Adds a batch of new tags to the project with the specified id.", "description": "The request fails if one of the tags is invalid (e.g. empty or duplicate).\r\nTo create the tags the user needs 'write' permissions on the specified project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } } }, "/projecttemplates/{projecttemplateId}/addtags": { "post": { "tags": [ "Tags" ], "summary": "Adds a batch of new tags to the projecttemplate with the specified id.", "description": "The request fails if one of the tags is invalid (e.g. empty or duplicate).\r\nTo create the tags the user needs 'write' permissions on the specified projecttemplate.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to add tags.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/updatetags": { "post": { "tags": [ "Tags" ], "summary": "Updates a tag to the project with the specified id.", "description": "To update the tag the user needs 'write' permissions on the specified project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model with the tags to update.", "content": { "application/json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projecttemplates/{projecttemplateId}/updatetags": { "post": { "tags": [ "Tags" ], "summary": "Updates a tag to the projecttemplate with the specified id.", "description": "To update the tag the user needs 'write' permissions on the specified projecttemplate.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model with the tags to update.", "content": { "application/json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "newTag", "oldTagName" ], "type": "object", "properties": { "oldTagName": { "minLength": 1, "type": "string" }, "newTag": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "color": { "type": "string", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/deletetags": { "post": { "tags": [ "Tags" ], "summary": "Removes tags from the project with the specified id.", "description": "Removes tags from the project with the specified id.\r\nTo delete the tags the user needs 'write' permissions on the specified project.\r\nReturns 204 NoContent if all tags have been removed successfully.\r\nReturns 207 MultiStatus if at least one tag could not be removed, including the reasons.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projecttemplates/{projecttemplateId}/deletetags": { "post": { "tags": [ "Tags" ], "summary": "Removes tags from the projecttemplate with the specified id.", "description": "Removes tags from the projecttemplate with the specified id.\r\nTo delete the tags the user needs 'write' permissions on the specified projecttemplate.\r\nReturns 204 NoContent if all tags have been removed successfully.\r\nReturns 207 MultiStatus if at least one tag could not be removed, including the reasons.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to remove the tag.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/deletetags": { "post": { "tags": [ "Tags" ], "summary": "Removes tag from all entities.", "description": "Removes tag from all projects or project templates.\r\nTo delete the tags the user needs 'write' permissions on the specified project.\r\nReturns 204 NoContent if tag has been removed successfully.", "requestBody": { "description": "The model with the tag name.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projecttemplates/deletetags": { "post": { "tags": [ "Tags" ], "summary": "Removes tag from all entities.", "description": "Removes tag from all projects or project templates.\r\nTo delete the tags the user needs 'write' permissions on the specified projecttemplate.\r\nReturns 204 NoContent if tag has been removed successfully.", "requestBody": { "description": "The model with the tag name.", "content": { "application/json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/tasklists": { "get": { "tags": [ "TaskLists" ], "summary": "Returns all task lists of the project with the specified id.", "description": "The permission check in this function is dynamically based on the project name.\r\nIn the cases where the user tries to get the project task lists,\r\nthe user needs read permissions on the project-planning-data feature.\r\nIn cases where the user tries to get the private task lists, permissions are not necessary.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "showArchived", "in": "query", "description": "Include archived task lists in the results. Not required. False by default.", "schema": { "type": "boolean", "default": false } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "TaskLists" ], "summary": "Creates a new task list.", "description": "To create a new project task list, the user needs manage permissions on the project-planning-data feature.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to create a project task.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/tasklists/{taskListId}": { "get": { "tags": [ "TaskLists" ], "summary": "Returns the task list with the specified id.", "description": "The permission check in this function is dynamically based on the project name.\r\nIn the cases where the user tries to get the project task lists,\r\nthe user needs read permissions on the project-planning-data feature.\r\nIn cases where the user tries to get a private task list, permissions are not necessary.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } } }, "put": { "tags": [ "TaskLists" ], "summary": "Updates the task list with the specified id.", "description": "To update a project task list, the user needs manage permissions on the project-planning-data feature.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the task list with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/tasklists/{taskListId}/delete": { "post": { "tags": [ "TaskLists" ], "summary": "Deletes the task list with the specified id.", "description": "To delete project task list, the user needs manage permissions on the project-planning-data feature.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to delete the task list with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "deleteTasks": { "type": "boolean", "description": "Whether all tasks in this list should be deleted.\r\nIf false or not set, the tasks will just be removed from the list.", "nullable": true }, "deleteTimes": { "type": "boolean", "description": "Whether all times related to tasks in this list should be deleted.", "nullable": true, "example": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "deleteTasks": { "type": "boolean", "description": "Whether all tasks in this list should be deleted.\r\nIf false or not set, the tasks will just be removed from the list.", "nullable": true }, "deleteTimes": { "type": "boolean", "description": "Whether all times related to tasks in this list should be deleted.", "nullable": true, "example": true } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/tasklists/{taskListId}/updateorder": { "post": { "tags": [ "TaskLists" ], "summary": "Updates the order of a task list.", "description": "To update the order of project task lists, the user needs manage permissions on the project-planning-data feature.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the order of the task list with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/tasklists/{taskListId}/setarchived": { "post": { "tags": [ "TaskLists" ], "summary": "Archives or unarchives the task list with the specified id.", "description": "Archives or unarchives the task list with the specified id.\r\nAn archived task list still exists but is not editable anymore.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project the task list is related to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "Id of the task list which will be archived.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to archive the task list.", "content": { "application/json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true }, "taskOperation": { "type": "string", "description": "The operation for tasks which are not yet done.\r\nThe operation is required if you set a list to archived.\r\nCan be:\r\ntask-to-done: Set tasks to 'Done' or the first status of type 'done'.\r\ntask-remove: Remove tasks from this task list.\r\ntask-move: Move tasks to another list.\r\ntask-delete: Deletes the non done tasks.", "nullable": true, "example": "task-to-done" }, "taskListId": { "type": "string", "description": "The id of the task list where all non done tasks should moved to.\r\nOnly necessary if TaskOperation is set to 'task-move'.", "format": "uuid", "nullable": true }, "deleteTimeTrackings": { "type": "boolean", "description": "Set to true to delete also the related time trackings\r\nof all non done tasks.\r\nOnly necessary if TaskOperation is set to 'task-delete'.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "isArchived" ], "type": "object", "properties": { "isArchived": { "type": "boolean", "description": "Flags the entity as archived. Required.", "example": true }, "taskOperation": { "type": "string", "description": "The operation for tasks which are not yet done.\r\nThe operation is required if you set a list to archived.\r\nCan be:\r\ntask-to-done: Set tasks to 'Done' or the first status of type 'done'.\r\ntask-remove: Remove tasks from this task list.\r\ntask-move: Move tasks to another list.\r\ntask-delete: Deletes the non done tasks.", "nullable": true, "example": "task-to-done" }, "taskListId": { "type": "string", "description": "The id of the task list where all non done tasks should moved to.\r\nOnly necessary if TaskOperation is set to 'task-move'.", "format": "uuid", "nullable": true }, "deleteTimeTrackings": { "type": "boolean", "description": "Set to true to delete also the related time trackings\r\nof all non done tasks.\r\nOnly necessary if TaskOperation is set to 'task-delete'.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/tasklists/{taskListId}/addtasks": { "post": { "tags": [ "TaskLists" ], "summary": "Adds the tasks to the task list with the specified id.", "description": "Adds the tasks to the task list with the specified id.\r\nTo add a new task to a project task list, the user needs manage permissions on the project-planning-data feature.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of the tasks to add to the list.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The task id added to the list.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The task id added to the list.", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task", "format": "double", "nullable": true, "example": 3 } }, "additionalProperties": false } } } } } } } }, "/projects/{projectId}/tasklists/{taskListId}/removetasks": { "post": { "tags": [ "TaskLists" ], "summary": "Removes the tasks from the task list with the specified id.", "description": "To remove a task from a project task list, the user needs manage permissions on the project-planning-data feature.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The ids of the tasks to remove from the list.", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "application/*+json": { "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } } }, "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/tasklists/{taskListId}/tasks/{taskId}": { "get": { "tags": [ "TaskLists" ], "summary": "Returns the task with the specified id in the specified task list.", "description": "To get a project task from the project task list, the user needs read permissions on the project-planning-data feature\r\nor the current user must be assigned to the task with the specified id.\r\nFor a private task list no permissions are required.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the task. Max allowed length: 25000 characters.\r\nRequired.", "nullable": true, "example": "Create logo concept" }, "description": { "type": "string", "description": "The description of the task. Max allowed length: 25000 characters.", "nullable": true, "example": "We need to create a new impactful concept for the customer logo" }, "isPrio": { "type": "boolean", "description": "Whether this task is marked as priority.", "example": true }, "startOn": { "type": "string", "description": "The expected start date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-03T17:00:00Z" }, "dueOn": { "type": "string", "description": "The expected due date and time of the task.", "format": "date-time", "nullable": true, "example": "2021-03-18T17:00:00Z" }, "laneOrder": { "type": "integer", "description": "The lane order defines the vertical position in the gant planner.", "format": "int32", "nullable": true }, "plannedDuration": { "type": "integer", "description": "The expected planned workload of the task, in seconds.", "format": "int32", "example": 21600 }, "remainingDuration": { "type": "integer", "description": "The expected remaining duration from the original planned effort of the task, in seconds.\r\nNull if the user has no permissions to see time tracking information.", "format": "int32", "nullable": true, "example": 10500 }, "id": { "type": "string", "description": "The Id of the task.", "format": "uuid" }, "baseType": { "type": "string", "description": "The base type of the task.\r\nCan be 'private' for a private task or\r\n'projecttask' for a project task.", "nullable": true, "example": "projecttask" }, "taskStatusId": { "type": "string", "description": "The id of the status for this task.", "format": "uuid" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "The primary identifier of this task status.", "format": "uuid" }, "name": { "type": "string", "description": "The name of the task status.", "nullable": true, "example": "Conceptualize" }, "type": { "type": "string", "description": "Of what general type is this task status?.", "nullable": true, "example": "progress" }, "order": { "type": "number", "description": "The order of the task status in a project.", "format": "double", "nullable": true, "example": 2 }, "icon": { "type": "string", "description": "The icon of the task status.", "nullable": true, "example": "arrow_forward" }, "projectId": { "type": "string", "description": "Is set if the task status is related to a project.", "format": "uuid", "nullable": true }, "projectTypeId": { "type": "string", "description": "Is set if the task status is related to a project type.", "format": "uuid", "nullable": true }, "createdOn": { "type": "string", "description": "The date this entity was created.", "format": "date-time", "example": "2022-03-{10}T15:51:58.100Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this entity.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this entity was last modified.", "format": "date-time", "example": "2022-03-10T16:15:26.100Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this entity.", "format": "uuid" } }, "additionalProperties": false }, "typeOfWorkId": { "type": "string", "description": "The id of the type of work of this task.", "format": "uuid" }, "typeOfWork": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "assignees": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "nullable": true }, "plannedEffort": { "type": "integer", "description": "The planned effort of the user assigned to the task, in seconds.", "format": "int32" }, "isDistributedPlannedEffort": { "type": "boolean", "description": "If the PlannedEffort was calculated as distributed effort." }, "updatedOn": { "type": "string", "description": "The date this task assignee was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the user.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the User.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false, "description": "This repeated model (copy of NestedTeamModel) is required to avoid a bug\r\nof the Automapper.Extensions.EspressionMapping library that throws an error if in the same expression\r\nwe apply a filter to 2 different models containing the same submodel (e.g: Teams contained in both Project, User and\r\nTasks))\r\nPlease do not remove it." }, "description": "The ids of the team the user is associated to.", "nullable": true, "deprecated": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "description": "The list assigned users of this task, or empty if not user was assigned.", "nullable": true }, "projectId": { "type": "string", "description": "The id of the project this task is assigned to.\r\nOnly set if this is a project task.\r\nIn this case, it is equal to the EntityId.", "format": "uuid", "nullable": true }, "project": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "projectStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the company has a profile image.", "example": true }, "description": { "type": "string", "description": "The description of the company.", "nullable": true, "example": "NCNSTN Brand Design Company" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the company.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the company.", "nullable": true, "deprecated": true } }, "additionalProperties": false }, "companyId": { "type": "string", "description": "The companyId of the project.", "format": "uuid", "nullable": true }, "projectType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isArchived": { "type": "boolean" } }, "additionalProperties": false }, "hasImage": { "type": "boolean", "description": "Whether the project has an image.", "example": true }, "isPrivate": { "type": "boolean", "description": "Whether the project is private." }, "isBillableByDefault": { "type": "boolean", "description": "Whether the project is billable by default." }, "members": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "projectRoleId": { "type": "string", "format": "uuid" }, "projectRoleName": { "type": "string", "nullable": true }, "isResponsible": { "type": "boolean" } }, "additionalProperties": false }, "description": "The list of all members of the project.", "nullable": true }, "color": { "type": "string", "description": "The color of the project for display purposes in awork.\r\nCan be null when no color assigned.", "nullable": true, "example": "purple" }, "createdBy": { "type": "string", "description": "The created by of the project.", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the project.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The Tags of the Project.", "nullable": true, "deprecated": true }, "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "description": "The ids of the team the project is associated to.", "nullable": true }, "isExternal": { "type": "boolean", "description": "True if the model is coming from an external workspace (awork Connect).\r\nFalse otherwise." } }, "additionalProperties": false }, "correlationId": { "type": "string", "description": "The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.", "format": "uuid" }, "parentId": { "type": "string", "description": "The id of the parent task this of this subtask.\r\nOnly set if this is a subtask.", "format": "uuid", "nullable": true }, "parentTask": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "userId": { "type": "string", "description": "The id of the assigned user.", "format": "uuid" }, "assigneeIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of assignee user ids of this task.", "nullable": true } }, "additionalProperties": false }, "isSubtask": { "type": "boolean", "description": "True if the task is a subtask.", "readOnly": true }, "numberOfSubtasks": { "type": "integer", "description": "The number of subtasks of this task.\r\nNull if it's not a parent task.", "format": "int32", "nullable": true }, "hasAttachment": { "type": "boolean", "description": "Whether this task has an attachment.", "example": false }, "lists": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the list.", "nullable": true, "example": "Product and Marketing todos" }, "order": { "type": "number", "description": "The order of the list.", "format": "double", "nullable": true, "example": 2 }, "id": { "type": "string", "description": "The id of the task list.", "format": "uuid" }, "isArchived": { "type": "boolean", "description": "Whether the task list has been archived." }, "createdOn": { "type": "string", "description": "The date this task list was created.", "format": "date-time", "example": "2021-03-22T15:00:00Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task list.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task list was last modified.", "format": "date-time", "example": "2021-03-22T16:30:00Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task list.", "format": "uuid" }, "orderOfTask": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 5 } }, "additionalProperties": false }, "description": "The lists to which the task is assigned to.", "nullable": true }, "entityId": { "type": "string", "description": "The id of the entity this task is assigned to.\r\nThis is the id of the project if this is a project task,\r\nor the id of a user if this is a private task.\r\nSee 'BaseType' for supported types.", "format": "uuid", "nullable": true, "deprecated": true }, "userId": { "type": "string", "description": "The id of the user of the private task.", "format": "uuid", "nullable": true }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the tag.", "nullable": true, "example": "Design" }, "color": { "type": "string", "description": "The color of the tag.", "nullable": true, "example": "purple" } }, "additionalProperties": false, "description": "A tag model used for the task.\r\nDo not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper." }, "description": "The list of tags.", "nullable": true }, "createdOn": { "type": "string", "description": "The date this task was created.", "format": "date-time", "example": "2022-02-29T18:52:54.945Z" }, "createdBy": { "type": "string", "description": "The id of the user who created this task.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this task was last modified.", "format": "date-time", "example": "2020-02-30T18:52:54.945Z" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this task.", "format": "uuid" }, "closedOn": { "type": "string", "description": "The date the task was set to closed.", "format": "date-time", "nullable": true }, "closedBy": { "type": "string", "description": "The user who closed the task.", "format": "uuid", "nullable": true }, "order": { "type": "number", "description": "The order of the task in a task status column.", "format": "double", "example": 2 }, "subtaskOrder": { "type": "number", "description": "The order of the subtask relative to its parent task.", "format": "double", "nullable": true, "example": 1 }, "createdFromTaskId": { "type": "string", "description": "When the task was created by a recurrency rule, the id is the link to the template of which the task was created.", "format": "uuid", "nullable": true }, "isRecurring": { "type": "boolean", "description": "If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true." }, "trackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task.", "format": "int32", "nullable": true, "example": 1200 }, "totalTrackedDuration": { "type": "integer", "description": "The summed up duration of all time trackings for this task, including subtasks.", "format": "int32", "nullable": true, "example": 1200 }, "totalPlannedDuration": { "type": "integer", "description": "The total planned workload of the task, in seconds, including subtasks.", "format": "int32", "nullable": true, "example": 21600 }, "totalRemainingDuration": { "type": "integer", "description": "The total remaining duration from the original planned effort of the task, in seconds, including subtasks.", "format": "int32", "nullable": true }, "resourceVersion": { "type": "integer", "description": "The version of the entity, updated on every modification, to the ticks in UTC.\r\nNot identical to UpdatedOn.", "format": "int64", "readOnly": true, "example": 637825154598030700 }, "checklistItemsDoneCount": { "type": "integer", "description": "The number of checklist items marked as done.", "format": "int32", "example": 2 }, "checklistItemsCount": { "type": "integer", "description": "The total number of checklist items.", "format": "int32", "example": 5 }, "taskSchedulesCount": { "type": "integer", "description": "The number of task schedules for this task.", "format": "int32", "example": 1 }, "isCompletelyScheduled": { "type": "boolean", "description": "Whether this task is completed scheduled." }, "commentCount": { "type": "integer", "description": "The number of comments on this task.", "format": "int32" } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/tasklists/{taskListId}/tasks/{taskId}/updateorder": { "post": { "tags": [ "TaskLists" ], "summary": "Updates the order of a task in a task list.", "description": "To update the order of tasks in a project task list, the user needs manage permissions on the\r\nproject-planning-data feature.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskListId", "in": "path", "description": "The id of the task list.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the order of the task in the task list with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the task in the list.", "format": "double", "nullable": true, "example": 4 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "order": { "type": "number", "description": "The order of the task", "format": "double", "nullable": true, "example": 3 } }, "additionalProperties": false } } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the workspace with the specified id.", "description": "Returns the file metadata of the workspace with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the workspace file with the specified id.", "description": "Updates the metadata of the workspace file with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the workspace file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/users/{userId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the user with the specified id.", "description": "Returns the file metadata of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the user file with the specified id.", "description": "Updates the metadata of the user file with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the user file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/comments/{commentId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the comment with the specified id.", "description": "Returns the file metadata of the comment with the specified id.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the comment file with the specified id.", "description": "Updates the metadata of the comment file with the specified id.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the comment file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the tasktemplate with the specified id.", "description": "Returns the file metadata of the tasktemplate with the specified id.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the tasktemplate file with the specified id.", "description": "Updates the metadata of the tasktemplate file with the specified id.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the tasktemplate file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/tasks/{taskId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the task with the specified id.", "description": "Returns the file metadata of the task with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the task file with the specified id.", "description": "Updates the metadata of the task file with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the task file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/companies/{companyId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the company with the specified id.", "description": "Returns the file metadata of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the company file with the specified id.", "description": "Updates the metadata of the company file with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the company file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the projecttemplate with the specified id.", "description": "Returns the file metadata of the projecttemplate with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the projecttemplate file with the specified id.", "description": "Updates the metadata of the projecttemplate file with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the projecttemplate file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/files/{fileId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the file with the specified id of the project with the specified id.", "description": "Returns the file metadata of the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "put": { "tags": [ "EntityFiles" ], "summary": "Updates the metadata of the project file with the specified id.", "description": "Updates the metadata of the project file with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the project file with the specified id.", "description": "Deletes the metadata and the different versions of the file.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/workspaces/{workspaceId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the workspace with the specified id.", "description": "Returns all file metadata of the workspace with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new workspace file for the workspace with the specified id..", "description": "Uploads a new workspace file for the workspace with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified workspace.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/users/{userId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the user with the specified id.", "description": "Returns all file metadata of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new user file for the user with the specified id..", "description": "Uploads a new user file for the user with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified user.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/comments/{commentId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the comment with the specified id.", "description": "Returns all file metadata of the comment with the specified id.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new comment file for the comment with the specified id..", "description": "Uploads a new comment file for the comment with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified comment.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/tasktemplates/{tasktemplateId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the tasktemplate with the specified id.", "description": "Returns all file metadata of the tasktemplate with the specified id.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new tasktemplate file for the tasktemplate with the specified id..", "description": "Uploads a new tasktemplate file for the tasktemplate with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified tasktemplate.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/tasks/{taskId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the task with the specified id.", "description": "Returns all file metadata of the task with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new task file for the task with the specified id..", "description": "Uploads a new task file for the task with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified task.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/companies/{companyId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the company with the specified id.", "description": "Returns all file metadata of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new company file for the company with the specified id..", "description": "Uploads a new company file for the company with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified company.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/projecttemplates/{projecttemplateId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the projecttemplate with the specified id.", "description": "Returns all file metadata of the projecttemplate with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new projecttemplate file for the projecttemplate with the specified id..", "description": "Uploads a new projecttemplate file for the projecttemplate with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified projecttemplate.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/projects/{projectId}/files": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all file metadata of the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Creates a new project file for the project with the specified id..", "description": "Uploads a new project file for the project with the specified id.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "EntityFiles" ], "summary": "Deletes the files of the specified project.", "description": "Deletes the metadata and the different versions of the files.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/{entityType}": { "get": { "tags": [ "SharedFiles" ], "summary": "Returns the public profile image.", "description": "Returns the public available profile image of a user/workspace or a default image if none is available.\r\nFor users, the default is a generated image of the user's initials.", "parameters": [ { "name": "entityType", "in": "path", "description": "The entity type for which we are requesting the image. Can be 'user' or 'workspace'", "required": true, "schema": { "type": "string" } }, { "name": "token", "in": "query", "description": "The token to allow access.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projects/{projectId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projecttemplates/{projecttemplateId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/companies/{companyId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasks/{taskId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasktemplates/{tasktemplateId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/comments/{commentId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/users/{userId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/workspaces/{workspaceId}/externalfiles": { "post": { "tags": [ "EntityFiles" ], "summary": "Endpoint to batch create external files without uploading.", "description": "Endpoint to create file infos with batch operation.\r\nCreated file infos don't have a version.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "List of file forms.", "content": { "application/json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } }, "application/*+json": { "schema": { "type": "array", "items": { "required": [ "externalFileUrl", "externalProvider", "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the file." }, "description": { "type": "string", "description": "The description of the file.", "nullable": true }, "externalProvider": { "minLength": 1, "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'." }, "externalFileUrl": { "minLength": 1, "type": "string", "description": "The file url of the external provider." }, "mimeType": { "type": "string", "description": "The mime type if the external file.", "nullable": true } }, "additionalProperties": false } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projects/{projectId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projecttemplates/{projecttemplateId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/companies/{companyId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasks/{taskId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasktemplates/{tasktemplateId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/comments/{commentId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/users/{userId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/workspaces/{workspaceId}/files/byurl": { "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new file by providing an url.", "description": "The file needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projects/{projectId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the project file with the specified id.", "description": "Returns the content of the project file. Uses the latest file version.\r\nIf the project file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the projecttemplate file with the specified id.", "description": "Returns the content of the projecttemplate file. Uses the latest file version.\r\nIf the projecttemplate file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/companies/{companyId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the company file with the specified id.", "description": "Returns the content of the company file. Uses the latest file version.\r\nIf the company file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/tasks/{taskId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the task file with the specified id.", "description": "Returns the content of the task file. Uses the latest file version.\r\nIf the task file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the tasktemplate file with the specified id.", "description": "Returns the content of the tasktemplate file. Uses the latest file version.\r\nIf the tasktemplate file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/comments/{commentId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the comment file with the specified id.", "description": "Returns the content of the comment file. Uses the latest file version.\r\nIf the comment file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/users/{userId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the user file with the specified id.", "description": "Returns the content of the user file. Uses the latest file version.\r\nIf the user file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the workspace file with the specified id.", "description": "Returns the content of the workspace file. Uses the latest file version.\r\nIf the workspace file is an image and the width and height are set,\r\nthe image will resized before it is returned.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/projects/{projectId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the project file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the project file. Uses the latest file version.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the projecttemplate file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the projecttemplate file. Uses the latest file version.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/companies/{companyId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the company file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the company file. Uses the latest file version.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/tasks/{taskId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the task file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the task file. Uses the latest file version.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the tasktemplate file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the tasktemplate file. Uses the latest file version.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/comments/{commentId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the comment file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the comment file. Uses the latest file version.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/users/{userId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the user file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the user file. Uses the latest file version.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/pdf": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the workspace file with the specified id as pdf if possible and returns bad request, if not valid\r\ntype or conversion not possible.", "description": "Returns the content of the workspace file. Uses the latest file version.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is false, content-disposition header is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/projects/{projectId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified project file.", "description": "Returns all file versions of the specified project file.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the project file with the specified id.", "description": "Uploads a new version of an project file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified projecttemplate file.", "description": "Returns all file versions of the specified projecttemplate file.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the projecttemplate file with the specified id.", "description": "Uploads a new version of an projecttemplate file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/companies/{companyId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified company file.", "description": "Returns all file versions of the specified company file.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the company file with the specified id.", "description": "Uploads a new version of an company file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/tasks/{taskId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified task file.", "description": "Returns all file versions of the specified task file.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the task file with the specified id.", "description": "Uploads a new version of an task file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified tasktemplate file.", "description": "Returns all file versions of the specified tasktemplate file.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the tasktemplate file with the specified id.", "description": "Uploads a new version of an tasktemplate file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/comments/{commentId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified comment file.", "description": "Returns all file versions of the specified comment file.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the comment file with the specified id.", "description": "Uploads a new version of an comment file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/users/{userId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified user file.", "description": "Returns all file versions of the specified user file.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the user file with the specified id.", "description": "Uploads a new version of an user file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/versions": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all file versions of the specified workspace file.", "description": "Returns all file versions of the specified workspace file.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "post": { "tags": [ "EntityFiles" ], "summary": "Uploads a new version of the workspace file with the specified id.", "description": "Uploads a new version of an workspace file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the project file version with the specified id.", "description": "Returns the project file version with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the projecttemplate file version with the specified id.", "description": "Returns the projecttemplate file version with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/companies/{companyId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the company file version with the specified id.", "description": "Returns the company file version with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/tasks/{taskId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the task file version with the specified id.", "description": "Returns the task file version with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the tasktemplate file version with the specified id.", "description": "Returns the tasktemplate file version with the specified id.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/comments/{commentId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the comment file version with the specified id.", "description": "Returns the comment file version with the specified id.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/users/{userId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the user file version with the specified id.", "description": "Returns the user file version with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/versions/{versionId}": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the workspace file version with the specified id.", "description": "Returns the workspace file version with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false } } } } } } }, "/projects/{projectId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the project file version with the specified id.", "description": "Returns the content of the project file version with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the projecttemplate file version with the specified id.", "description": "Returns the content of the projecttemplate file version with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/companies/{companyId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the company file version with the specified id.", "description": "Returns the content of the company file version with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/tasks/{taskId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the task file version with the specified id.", "description": "Returns the content of the task file version with the specified id.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the tasktemplate file version with the specified id.", "description": "Returns the content of the tasktemplate file version with the specified id.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/comments/{commentId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the comment file version with the specified id.", "description": "Returns the content of the comment file version with the specified id.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/users/{userId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the user file version with the specified id.", "description": "Returns the content of the user file version with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/versions/{versionId}/download": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns the content of the workspace file version with the specified id.", "description": "Returns the content of the workspace file version with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "description": "The id of the file version.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false } } } } } } }, "/projects/{projectId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new project.", "description": "Copys the file to a new project (meta and content).", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new projecttemplate.", "description": "Copys the file to a new projecttemplate (meta and content).", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/companies/{companyId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new company.", "description": "Copys the file to a new company (meta and content).", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasks/{taskId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new task.", "description": "Copys the file to a new task (meta and content).", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new tasktemplate.", "description": "Copys the file to a new tasktemplate (meta and content).", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/comments/{commentId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new comment.", "description": "Copys the file to a new comment (meta and content).", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/users/{userId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new user.", "description": "Copys the file to a new user (meta and content).", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/copy": { "post": { "tags": [ "EntityFiles" ], "summary": "Copys the file to a new workspace.", "description": "Copys the file to a new workspace (meta and content).", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "entityId", "entityType" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.", "format": "uuid" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the linked entity.", "example": "projects" } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projects/{projectId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the project with the specified id.\r\nCurrently only allowed in projects project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/projecttemplates/{projecttemplateId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the projecttemplate with the specified id.\r\nCurrently only allowed in projects projecttemplate.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/companies/{companyId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the company with the specified id.\r\nCurrently only allowed in projects company.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/tasks/{taskId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the task with the specified id.\r\nCurrently only allowed in projects task.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/tasktemplates/{tasktemplateId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the tasktemplate with the specified id.\r\nCurrently only allowed in projects tasktemplate.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/comments/{commentId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the comment with the specified id.\r\nCurrently only allowed in projects comment.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/users/{userId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the user with the specified id.\r\nCurrently only allowed in projects user.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/workspaces/{workspaceId}/allfiles": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns all files of the project with the specified id.", "description": "Returns all files of the workspace with the specified id.\r\nCurrently only allowed in projects workspace.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null }, "task": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "order": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } } } } } } } }, "/projects/{projectId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/companies/{companyId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasks/{taskId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/comments/{commentId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/users/{userId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/setiscommentrelated": { "post": { "tags": [ "EntityFiles" ], "summary": "ONLY FOR INTERNAL MIGRATION.", "description": "Sets the CommentFileCount property to value 1.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-cluster-request", "in": "header", "description": "Marks this request as a cluster internal request. Only allowed by Hellfire calls.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/files/images/companies/{companyId}": { "get": { "tags": [ "Images" ], "summary": "Returns the image of the company with the specified id.", "description": "Returns the image of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image.", "description": "The profile image file needs to be sent in the body as multipart data.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "Images" ], "summary": "Deletes the profile image of the company with the specified id.", "description": "Deletes the profile image of the company with the specified id.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/users/{userId}": { "get": { "tags": [ "Images" ], "summary": "Returns the image of the user with the specified id.", "description": "Returns the image of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image.", "description": "The profile image file needs to be sent in the body as multipart data.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "Images" ], "summary": "Deletes the profile image of the user with the specified id.", "description": "Deletes the profile image of the user with the specified id.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/workspaces/{workspaceId}": { "get": { "tags": [ "Images" ], "summary": "Returns the image of the workspace with the specified id.", "description": "Returns the image of the workspace with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image.", "description": "The profile image file needs to be sent in the body as multipart data.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "Images" ], "summary": "Deletes the profile image of the workspace with the specified id.", "description": "Deletes the profile image of the workspace with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/contactpersons/{contactpersonId}": { "get": { "tags": [ "Images" ], "summary": "Returns the image of the contactperson with the specified id.", "description": "Returns the image of the contactperson with the specified id.", "parameters": [ { "name": "contactpersonId", "in": "path", "description": "The id of the contactperson the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image.", "description": "The profile image file needs to be sent in the body as multipart data.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "contactpersonId", "in": "path", "description": "The id of the contactperson the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "Images" ], "summary": "Deletes the profile image of the contactperson with the specified id.", "description": "Deletes the profile image of the contactperson with the specified id.", "parameters": [ { "name": "contactpersonId", "in": "path", "description": "The id of the contactperson the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/projects/{projectId}": { "get": { "tags": [ "Images" ], "summary": "Returns the image of the project with the specified id.", "description": "Returns the image of the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image.", "description": "The profile image file needs to be sent in the body as multipart data.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "Images" ], "summary": "Deletes the profile image of the project with the specified id.", "description": "Deletes the profile image of the project with the specified id.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/projecttemplates/{projecttemplateId}": { "get": { "tags": [ "Images" ], "summary": "Returns the image of the projecttemplate with the specified id.", "description": "Returns the image of the projecttemplate with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image.", "description": "The profile image file needs to be sent in the body as multipart data.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "delete": { "tags": [ "Images" ], "summary": "Deletes the profile image of the projecttemplate with the specified id.", "description": "Deletes the profile image of the projecttemplate with the specified id.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } } } }, "/files/images/users/{userId}/workspace": { "get": { "tags": [ "Images" ], "summary": "Returns the workspace image of the user or project with the specified id.\r\nIn case that the user does not exists, or that it has no workspace image,\r\nthe default one will be returned.\r\nThis is an internal endpoint that should be used by the app only.", "description": "Returns the image of workspace of the user with the specified id.\r\nOr the default workspace image.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/files/images/projects/{projectId}/workspace": { "get": { "tags": [ "Images" ], "summary": "Returns the workspace image of the user or project with the specified id.\r\nIn case that the project does not exists, or that it has no workspace image,\r\nthe default one will be returned.\r\nThis is an internal endpoint that should be used by the app only.", "description": "Returns the image of workspace of the project with the specified id.\r\nOr the default workspace image.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project to lookup.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/files/images/companies/{companyId}/byurl": { "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image by providing an url.", "description": "The profile image needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/files/images/users/{userId}/byurl": { "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image by providing an url.", "description": "The profile image needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/files/images/workspaces/{workspaceId}/byurl": { "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image by providing an url.", "description": "The profile image needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/files/images/contactpersons/{contactpersonId}/byurl": { "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image by providing an url.", "description": "The profile image needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "contactpersonId", "in": "path", "description": "The id of the contactperson the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/files/images/projects/{projectId}/byurl": { "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image by providing an url.", "description": "The profile image needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/files/images/projecttemplates/{projecttemplateId}/byurl": { "post": { "tags": [ "Images" ], "summary": "Uploads a new profile image by providing an url.", "description": "The profile image needs to be a public available url.\r\nThe file size must not exceed 100MB.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate the file is linked to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aw-internal-request", "in": "header", "description": "Marks this request as an internal request. Only allowed by the awork app or internally.", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "description": "The url, name and description of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The public url to the file.", "nullable": true }, "name": { "type": "string", "description": "The name of the file.", "nullable": true }, "description": { "type": "string", "description": "The description of the file.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projects/{projectId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/files/{fileId}/download": { "get": { "tags": [ "Files" ], "summary": "Returns the content of the file with the specified id.", "description": "Returns the content of the latest file version.\r\nIf the file is an image and the width and height are set,\r\nthe image will resized before it is returned.\r\nThe get the content it is necessary to have the 'read' permissions on the\r\nentity the file is related to.", "parameters": [ { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "width", "in": "query", "description": "Set width to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "height", "in": "query", "description": "Set height to resize.", "schema": { "type": "number", "format": "double" } }, { "name": "crop", "in": "query", "description": "Whether to crop the image when resizing it.", "schema": { "type": "boolean" } }, { "name": "enlarge", "in": "query", "description": "Whether to enlarge the image if the width/height are bigger than the original image.", "schema": { "type": "boolean", "default": true } }, { "name": "inline", "in": "query", "description": "If inline is true, content-disposition header is inline, else it is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/files/{fileId}/pdf": { "get": { "tags": [ "Files" ], "summary": "Returns the content of the file with the specified id as pdf.\r\nAll kinds of MS Office document types are supported.", "description": "Returns the content of the latest file version as pdf.\r\nTo get the content you must have the 'read' permissions on the\r\nentity the file is related to.", "parameters": [ { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "inline", "in": "query", "description": "If inline is true, content-disposition header is inline, else it is attachment.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/sharedfiles": { "get": { "tags": [ "SharedFiles" ], "summary": "Returns the shared file.", "description": "Returns the shared file.", "parameters": [ { "name": "token", "in": "query", "description": "The token to allow access.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/temporaryfiles": { "get": { "tags": [ "TemporaryFiles" ], "summary": "Returns all temporary files of the current user.", "description": "Returns the meta information of all temporary files\r\nof the current user.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "TemporaryFiles" ], "summary": "Creates a new temporary file.", "description": "Uploads a new temporary file.\r\nUse this to upload a file as a form value along with the basic file meta data.\r\nThe file size must not exceed 1GB.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/temporaryfiles/{fileId}": { "get": { "tags": [ "TemporaryFiles" ], "summary": "Returns the temporary file with the specified id.", "description": "Returns the meta information of the temporary file\r\nof the current user.", "parameters": [ { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "TemporaryFiles" ], "summary": "Updates the meta information of the temporary file with the specified id.", "description": "Updates the meta information of the temporary file with the specified id.", "parameters": [ { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the temporary file with the specified id.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" } }, "additionalProperties": false, "description": "The model to update the file metadata." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/temporaryfiles/{fileId}/download": { "get": { "tags": [ "TemporaryFiles" ], "summary": "Returns the content of the temporary file with the specified id.", "description": "Returns the content of the temporary file.", "parameters": [ { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/temporaryfiles/{fileId}/setentity": { "post": { "tags": [ "TemporaryFiles" ], "summary": "Sets the temporary file to a global or entity file.", "description": "Links the temporary file to the specified entity or switches\r\nto a global file if the 'EntityId' of the model is set to null.\r\nThe file is no longer a temporary file afterwards and\r\nbecomes visible.", "parameters": [ { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to set the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/companies/{companyId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/tasks/{taskId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/comments/{commentId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/users/{userId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/shareurl": { "get": { "tags": [ "EntityFiles" ], "summary": "Returns a url to share the file.", "description": "Returns a url to share the file.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/projects/{projectId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the project this file belongs to.", "description": "Changes the project this file belongs to.\r\nSwitch to the specified project or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projecttemplates/{projecttemplateId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the projecttemplate this file belongs to.", "description": "Changes the projecttemplate this file belongs to.\r\nSwitch to the specified projecttemplate or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "projecttemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/companies/{companyId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the company this file belongs to.", "description": "Changes the company this file belongs to.\r\nSwitch to the specified company or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "companyId", "in": "path", "description": "The id of the company.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasks/{taskId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the task this file belongs to.", "description": "Changes the task this file belongs to.\r\nSwitch to the specified task or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/tasktemplates/{tasktemplateId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the tasktemplate this file belongs to.", "description": "Changes the tasktemplate this file belongs to.\r\nSwitch to the specified tasktemplate or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "tasktemplateId", "in": "path", "description": "The id of the tasktemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/comments/{commentId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the comment this file belongs to.", "description": "Changes the comment this file belongs to.\r\nSwitch to the specified comment or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "commentId", "in": "path", "description": "The id of the comment.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/users/{userId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the user this file belongs to.", "description": "Changes the user this file belongs to.\r\nSwitch to the specified user or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "userId", "in": "path", "description": "The id of the user.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/workspaces/{workspaceId}/files/{fileId}/changeentity": { "post": { "tags": [ "EntityFiles" ], "summary": "Changes the workspace this file belongs to.", "description": "Changes the workspace this file belongs to.\r\nSwitch to the specified workspace or to a global file\r\nif the 'EntityId' of the model is set to null.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "fileId", "in": "path", "description": "The id of the file.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to change the entity information of the file.", "content": { "application/json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "entityId": { "type": "string", "description": "The id of the entity the file should be linked to.\r\nSet to null to change the file to a global file.", "format": "uuid", "nullable": true }, "entityType": { "type": "string", "description": "The type of the linked entity.\r\nNecessary if EntityId is set.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The user-specified name of the file.", "nullable": true, "example": "Final project report" }, "description": { "type": "string", "description": "The description of the file.", "nullable": true, "example": "The client requested a cost overview and timeline" }, "id": { "type": "string", "description": "The id of the file info.", "format": "uuid" }, "entityId": { "type": "string", "description": "The id of the linked entity.", "format": "uuid", "nullable": true }, "fileName": { "type": "string", "description": "The name of the file.", "nullable": true, "example": "Final project report.xlsx" }, "entityType": { "type": "string", "description": "The name of the linked entity type.", "nullable": true, "example": "project" }, "mimeType": { "type": "string", "description": "The MIME type of the file.", "nullable": true, "example": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "createdOn": { "type": "string", "description": "The date this file was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file.", "format": "uuid" }, "fileVersions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the file version.", "format": "uuid" }, "fileInfoId": { "type": "string", "description": "The id of the file this version belongs to.", "format": "uuid" }, "version": { "type": "number", "description": "The version of the file.", "format": "double", "example": 13 }, "size": { "type": "integer", "description": "The size of the file, in bytes.", "format": "int64", "example": 13590 }, "width": { "type": "number", "description": "The width if this is an image file.", "format": "double", "nullable": true, "example": 1920 }, "height": { "type": "number", "description": "The height if this is an image file.", "format": "double", "nullable": true, "example": 1200 }, "createdOn": { "type": "string", "description": "The date this file version was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this file version.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this file version was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this file version.", "format": "uuid" } }, "additionalProperties": false }, "description": "List of all versions.", "nullable": true }, "isCommentFile": { "type": "boolean", "description": "Whether the file is related to a comment.", "example": false }, "externalProvider": { "type": "string", "description": "The external provider for the file. Like 'google' or 'onedrive'.", "nullable": true, "example": null }, "externalFileUrl": { "type": "string", "description": "The file url of the external provider.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The file model." } } } } } } }, "/projects/{projectId}/automations/{automationId}/actions": { "get": { "tags": [ "ProjectActions" ], "summary": "Gets the actions of an automation.", "description": "Gets all actions including their values of an automation.\r\nThe user needs to be owner of the project or needs permission 'read' of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectActions" ], "summary": "Creates a new action for an automation.", "description": "Creates a new action including its values for an automation.\r\nThe user needs to be owner of the project or needs permission 'write' of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create an action.", "content": { "application/json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/automations/{automationId}/actions/{actionId}": { "get": { "tags": [ "ProjectActions" ], "summary": "Gets a specific action for an automation.", "description": "Get a specific action including its values of an automation.\r\nThe user needs to be owner of the project or needs permission 'read' of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectActions" ], "summary": "Updates a specifc action of an automation.", "description": "Updates an exsting action including its values for an automation.\r\nThe user needs to be owner of the project or needs permission 'write' of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update an action.", "content": { "application/json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "ProjectActions" ], "summary": "Deletes an action for an automation.", "description": "Deletes an action for an automation including all its values.\r\nThe user needs to be owner of the project or needs permission 'write' of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/automations": { "get": { "tags": [ "ProjectAutomations" ], "summary": "Returns all automations for a project.", "description": "Returns all automations of the project with the specified id.\r\nTo get the the automation data the user needs to be the owner of the project or\r\nhave 'read' permissions of the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectAutomations" ], "summary": "Creates a new automation for the specified project.", "description": "Creates a new automation for the project with the specified id.\r\nThe user needs to be the owner of the project or have 'write' permissions of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create the automation.", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/automations/{automationId}": { "get": { "tags": [ "ProjectAutomations" ], "summary": "Returns a specific automation from a project.", "description": "Returns a specific automation of the project with the specified id.\r\nReturns NotFound if the automation doesnt exist.\r\nTo get the the automation data the user needs to be the owner of the project or\r\nhave 'read' permissions of the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "ProjectAutomations" ], "summary": "Updates the automation with the specified id.", "description": "Updates the automation with the specified id.\r\nThe user needs to be the owner of the project or have 'write' permissions of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the automation.", "content": { "application/json": { "schema": { "required": [ "enabled", "trigger" ], "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether the automation is enabled." }, "trigger": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "enabled", "trigger" ], "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether the automation is enabled." }, "trigger": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "ProjectAutomations" ], "summary": "Deletes the specified automation for a given project.", "description": "Deletes the specified automation for a given project.\r\nAlso deletes all actions connected to the automation.\r\nThe user needs to be the owner of the project or have 'write' permissions of\r\nthe feature 'project-master-data' globally or in the project.", "parameters": [ { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projects/{projectId}/automations/{automationId}/actions/{actionId}/updateorder": { "post": { "tags": [ "ProjectActions" ], "summary": "Updates the order of a given action.", "description": "Updates the order of a given action in the list of actions of the specific automation.\r\nIf the order isn't changed, the order will not be updated.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the order.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the automation within a list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the automation within a list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/projecttemplates/{projectTemplateId}/automations/{automationId}/actions": { "get": { "tags": [ "ProjectTemplateActions" ], "summary": "Gets the actions of an automation of a project template.", "description": "Returns all actions for a specific automation of a project template including all its values.\r\nThe user needs 'read' permissions of the feature 'project-manage-config' to view action data.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "read" ] }, "post": { "tags": [ "ProjectTemplateActions" ], "summary": "Creates a new action for an automation of a projecttemplate.", "description": "Creates an action for a specific automation of a projecttemplate including all its values.\r\nThe user needs 'write' permissions of the feature 'project-manage-config' to create action data.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to create an action.", "content": { "application/json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/automations/{automationId}/actions/{actionId}": { "get": { "tags": [ "ProjectTemplateActions" ], "summary": "Gets a specific action for an automation of a projecttemplate.", "description": "Returns a specific action for a specific automation of a projecttemplate including all its values.\r\nThe user needs 'read' permissions of the feature 'project-manage-config' to view action data.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "read" ] }, "put": { "tags": [ "ProjectTemplateActions" ], "summary": "Updates a specifc action of an automation of a projecttemplate.", "description": "Returns an updated action for a specific automation of a projecttemplate including all its values.\r\nThe user needs 'write' permissions of the feature 'project-manage-config' to update action data.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update an action.", "content": { "application/json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type", "values" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the action.", "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 1 }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the action value.", "example": "user" }, "value": { "description": "The value of the action value.", "example": { "id": "DD0AEEB4-5CF4-44CA-A8EA-ED70EDE016A4", "name": "Carla", "type": "user" } } }, "additionalProperties": false }, "description": "The values of the action." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] }, "delete": { "tags": [ "ProjectTemplateActions" ], "summary": "Deletes an action for an automation of a projecttemplate.", "description": "Deletes an action for a specific automation of a projecttemplate including all its values.\r\nThe user needs 'write' permissions of the feature 'project-manage-config' to delete action data.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/automations/{automationId}/actions/{actionId}/updateorder": { "post": { "tags": [ "ProjectTemplateActions" ], "summary": "Updates the order of a given action.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "actionId", "in": "path", "description": "The id of the action.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model to update the order.", "content": { "application/json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the automation within a list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } }, "application/*+json": { "schema": { "type": "object", "properties": { "order": { "type": "number", "description": "The order of the automation within a list.", "format": "double", "nullable": true, "example": 2 } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/automations": { "get": { "tags": [ "ProjectTemplateAutomations" ], "summary": "Returns all automations for a projecttemplate.", "description": "Returns all automations of the projecttemplate with the specified id.\r\nTo get the automation data the user needs the 'read' permissons of\r\nthe feature 'project-manage-config' globally.", "parameters": [ { "name": "projectTemplateId", "in": "path", "description": "The id of the projecttemplate.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "ProjectTemplateAutomations" ], "summary": "Creates a new automation for a given projecttemplate.", "description": "Creates a new automation of the projecttemplate with the specified id.\r\nTo create the the automation the user needs to have 'write' permissions of\r\nthe feature 'project-manage-config' globally.", "parameters": [ { "name": "projectTemplateId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/automations/{automationId}": { "get": { "tags": [ "ProjectTemplateAutomations" ], "summary": "Returns a specific automation for a projecttemplate.", "description": "Returns a specific automation of the projecttemplate with the specified id.\r\nReturns NotFound if the automation doesnt exist.\r\nTo get the the automation data the user needs to have 'read' permissions of\r\nthe feature 'project-manage-config' globally.", "parameters": [ { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "read" ] }, "put": { "tags": [ "ProjectTemplateAutomations" ], "summary": "Updates the automation with the specified id for a given projecttemplate.", "description": "Updates the specified automation for a specific projecttemplate.\r\nTo update the the automation the user needs to have 'write' permissions of\r\nthe feature 'project-manage-config' globally.", "parameters": [ { "name": "automationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectTemplateId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "enabled", "trigger" ], "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether the automation is enabled." }, "trigger": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "enabled", "trigger" ], "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether the automation is enabled." }, "trigger": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the trigger.", "example": "task-created" }, "values": { "type": "array", "items": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "The name of the trigger value.", "example": "type" }, "value": { "description": "The value of the trigger value.", "example": { "id": "E9DA77CF-1DF8-42EB-99C5-C2D0F5C357E5", "name": "Internal Work" } } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] }, "delete": { "tags": [ "ProjectTemplateAutomations" ], "summary": "Deletes the specified automation for a given projecttemplate.", "description": "Deletes the specified automation with its trigger and all its values.\r\nTo delete the the automation the user needs to have 'write' permissions of\r\nthe feature 'project-manage-config' globally.\r\nIf the 'removeFromProject' boolean is set to true, all automations in projects of that\r\nproject template created from that automation template are deleted aswell.", "parameters": [ { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "removeFromProjects", "in": "query", "description": "Whether to delete the automation also from all projects of the projecttemplate.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the automation.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the automation.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the automation was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the automation.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the automation was updated.", "format": "date-time" }, "triggerId": { "type": "string", "description": "The id of the trigger which is related to the automation.", "format": "uuid" }, "trigger": { "type": "object", "properties": { "updatedOn": { "type": "string", "description": "The date the trigger was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the trigger.", "nullable": true, "example": "task-created" }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger value.", "nullable": true, "example": "name" }, "value": { "type": "string", "description": "The value of the trigger value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the trigger.", "nullable": true } }, "additionalProperties": false }, "enabled": { "type": "boolean", "description": "Whether the automation is enabled.", "readOnly": true, "example": true }, "state": { "type": "string", "description": "The state of the automation.\r\nSee AutomationsService.DAL.Models.AutomationState for the possible values.", "nullable": true }, "createdByProjectTemplate": { "type": "boolean", "description": "Whether the automation was created from an automation template of a project template.", "example": false }, "projectId": { "type": "string", "description": "The id of the project which is related to the automation.", "format": "uuid", "nullable": true }, "projectTemplateId": { "type": "string", "description": "The id of the project template which is related to the automation.", "format": "uuid", "nullable": true }, "actions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The id of the action.", "format": "uuid" }, "createdBy": { "type": "string", "description": "The id of the user who created the action.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date the action was created.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who updated the action.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date the action was updated.", "format": "date-time" }, "type": { "type": "string", "description": "The type of the action.", "nullable": true, "example": "tag-add-task" }, "order": { "type": "number", "description": "The order of the action.", "format": "double", "nullable": true, "example": 2 }, "values": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the action value.", "nullable": true, "example": "tag" }, "value": { "type": "string", "description": "The value of the action value.", "nullable": true, "example": "Design" } }, "additionalProperties": false }, "description": "The values of the action.", "nullable": true } }, "additionalProperties": false }, "description": "The actions which is related to the automation.", "nullable": true }, "failed": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "stackTrace": { "type": "string", "nullable": true }, "details": { "type": "array", "items": { "type": "string" }, "nullable": true }, "validationErrors": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/projecttemplates/{projectTemplateId}/automations/{automationId}/reapply": { "post": { "tags": [ "ProjectTemplateAutomations" ], "summary": "Reapplies the automation to all projects of this specific project template.", "description": "Returns NotFound if the automation doesnt exist.\r\nTo execute this you need to have 'write' permissions of\r\nthe feature 'project-manage-config' globally.", "parameters": [ { "name": "automationId", "in": "path", "description": "The id of the automation.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "projectTemplateId", "in": "path", "description": "The id of the project template.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-project-manage-config": [ "write" ] } }, "/webhooks": { "get": { "tags": [ "Webhooks" ], "summary": "Returns all configured webhooks.", "description": "Returns all configured webhooks of the workspace.", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null }, "id": { "type": "string", "description": "The id of the webhook config.", "format": "uuid" }, "receiverType": { "type": "string", "description": "The type of the web hook.\r\nCan be 'custom', 'slack'.", "nullable": true, "example": "slack" }, "lastFailureReason": { "type": "string", "description": "The most recent failure reason.", "nullable": true, "example": null }, "createdOn": { "type": "string", "description": "The date this webhook config was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this webhook config.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this webhook config was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this webhook config.", "format": "uuid" } }, "additionalProperties": false, "description": "The webhook config model." } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "post": { "tags": [ "Webhooks" ], "summary": "Creates a new webhook.", "description": "Creates a new webhook.\r\nThe receiver type is inferred from the URI. All unknown receivers\r\nare treated as 'custom'.", "requestBody": { "description": "The model used to create a new webhook.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The model to create or update a webhook config." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The model to create or update a webhook config." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null }, "id": { "type": "string", "description": "The id of the webhook config.", "format": "uuid" }, "receiverType": { "type": "string", "description": "The type of the web hook.\r\nCan be 'custom', 'slack'.", "nullable": true, "example": "slack" }, "lastFailureReason": { "type": "string", "description": "The most recent failure reason.", "nullable": true, "example": null }, "createdOn": { "type": "string", "description": "The date this webhook config was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this webhook config.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this webhook config was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this webhook config.", "format": "uuid" } }, "additionalProperties": false, "description": "The webhook config model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/webhooks/{webhookId}": { "get": { "tags": [ "Webhooks" ], "summary": "Returns the webhook with the specified id.", "description": "Returns the webhook with the specified id.", "parameters": [ { "name": "webhookId", "in": "path", "description": "The id of the webhook.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null }, "id": { "type": "string", "description": "The id of the webhook config.", "format": "uuid" }, "receiverType": { "type": "string", "description": "The type of the web hook.\r\nCan be 'custom', 'slack'.", "nullable": true, "example": "slack" }, "lastFailureReason": { "type": "string", "description": "The most recent failure reason.", "nullable": true, "example": null }, "createdOn": { "type": "string", "description": "The date this webhook config was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this webhook config.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this webhook config was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this webhook config.", "format": "uuid" } }, "additionalProperties": false, "description": "The webhook config model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] }, "put": { "tags": [ "Webhooks" ], "summary": "Updates the webhook with the specified id.", "description": "Updates the webhook with the specified id.", "parameters": [ { "name": "webhookId", "in": "path", "description": "The id of the webhook.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the webhook.", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The model to create or update a webhook config." } }, "application/*+json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null } }, "additionalProperties": false, "description": "The model to create or update a webhook config." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of this webhook event.\r\nRequired.", "nullable": true, "example": "Post to Slack" }, "uri": { "type": "string", "description": "The URI to call.\r\nRequired.", "nullable": true, "example": "https://hooks.slack.com/services/T578C/EY8979" }, "language": { "type": "string", "description": "The language of the web hook message that will be sent to the receiver.\r\nNot required for custom web hooks.", "nullable": true, "example": "en-GB" }, "events": { "type": "string", "description": "The event(s) that trigger the web hook.\r\nA comma-separated list of events that trigger the webhook.\r\nThe allowed events depend on the webhook type.\r\nFor type 'custom': retrieve the list of allowed events from '/webhooks/eventTypes'\r\nFor type 'slack': retrieve the list of allowed events from '/webhooks/eventTypes/slack'\r\nRequired.", "nullable": true, "example": "task_comment_added" }, "isActive": { "type": "boolean", "description": "Whether the web hook is currently active.\r\nRequired.", "example": true }, "authenticationType": { "type": "string", "description": "The authentication type to use when calling the URI.\r\nCan be 'none', 'header'.\r\nRequired.", "nullable": true, "example": "none" }, "authentication": { "type": "string", "description": "The authentication value to use when calling the URI.\r\nShould be 'key=value'.\r\nIn case of header authentication, this should be 'headername=headervalue'.\r\nOnly required when the AuthenticationType is anything other than 'none'.", "nullable": true, "example": null }, "id": { "type": "string", "description": "The id of the webhook config.", "format": "uuid" }, "receiverType": { "type": "string", "description": "The type of the web hook.\r\nCan be 'custom', 'slack'.", "nullable": true, "example": "slack" }, "lastFailureReason": { "type": "string", "description": "The most recent failure reason.", "nullable": true, "example": null }, "createdOn": { "type": "string", "description": "The date this webhook config was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this webhook config.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this webhook config was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this webhook config.", "format": "uuid" } }, "additionalProperties": false, "description": "The webhook config model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] }, "delete": { "tags": [ "Webhooks" ], "summary": "Deletes the webhook with the specified id.", "description": "Deletes the webhook with the specified id.", "parameters": [ { "name": "webhookId", "in": "path", "description": "The id of the webhook.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/webhooks/eventtypes": { "get": { "tags": [ "Webhooks" ], "summary": "Returns all available event types.", "description": "Returns all available event types for generic webhooks in Awork.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/webhooks/eventtypes/slack": { "get": { "tags": [ "Webhooks" ], "summary": "Returns all available event types for Slack webhooks.", "description": "Returns all available event types for Slack webhooks in Awork.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/webhooks/{webhookId}/logs": { "get": { "tags": [ "Webhooks" ], "summary": "Returns all logs of the webhook with the specified id.", "description": "Returns all logs of the webhook with the specified id.", "parameters": [ { "name": "webhookId", "in": "path", "description": "The id of the webhook to get the logs for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string", "description": "The message which has been sent to the webhook receiver.", "nullable": true }, "webhookId": { "type": "string", "description": "The id of the webhook.", "format": "uuid" }, "responseCode": { "type": "integer", "description": "The HTTP response code of the request.", "format": "int32", "example": 200 }, "createdOn": { "type": "string", "description": "The date the log was created.", "format": "date-time" }, "reason": { "type": "string", "description": "The failure reason if the request failed.", "nullable": true, "example": null }, "isSuccessful": { "type": "boolean", "description": "Whether the request was successful.", "example": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "read" ] } }, "/projects/{projectId}/autopilot": { "get": { "tags": [ "Autopilot" ], "summary": "Returns the autopilot of the project with the specified id.\r\nReturns NoContent if the project does not have an autopilot setup.", "description": "Returns the autopilot with the specified id of the project with the specified id.\r\nReturns NoContent if the project does not have an autopilot setup.\r\nTo get the autopilot data the user needs to be the owner of the project or\r\nmust have 'read' permissions of the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." }, "id": { "type": "string", "description": "The id of the autopilot.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "post": { "tags": [ "Autopilot" ], "summary": "Creates a new autopilot for the project with the specified id.", "description": "Creates a new autopilot for the project with the specified id.\r\nAlso creates and enables all alerts for the new autopilot.\r\nFor this action, the user needs to be the owner of the project or must have 'read' permissions\r\nof the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to create the autopilot.", "content": { "application/json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot.", "nullable": true } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot.", "nullable": true } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." }, "id": { "type": "string", "description": "The id of the autopilot.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "Autopilot" ], "summary": "Updates the autopilot of the project with the specified id.", "description": "Updates the autopilot of the project with the specified id.\r\nTo access and modify the autopilot data the user needs to be the owner of the project or\r\nmust have 'read' permissions of the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The model used to update the autopilot.", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." } }, "additionalProperties": false } }, "application/*+json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." } }, "additionalProperties": false } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." }, "id": { "type": "string", "description": "The id of the autopilot.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "delete": { "tags": [ "Autopilot" ], "summary": "Deletes the autopilot of the project with the specified id.", "description": "Deletes the autopilot of the project with the specified id.\r\nTo access and modify the autopilot data the user needs to be the owner of the project or\r\nmust have 'read' permissions of the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "projectId", "in": "path", "description": "The id of the project.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." }, "id": { "type": "string", "description": "The id of the autopilot.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/autopilot/{autopilotId}": { "get": { "tags": [ "Autopilot" ], "summary": "Returns the autopilot.", "description": "Returns the autopilot including its alerts.\r\nTo get the autopilot data the user needs to be the owner of the project or 'read' permissions\r\nof the feature 'project-master-data' globally or in his project role.", "parameters": [ { "name": "autopilotId", "in": "path", "description": "The id of the autopilot.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." }, "id": { "type": "string", "description": "The id of the autopilot.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/autopilot/availablealerts": { "get": { "tags": [ "Autopilot" ], "summary": "Returns all available alerts for autopilots.", "description": "Returns all available alerts for autopilots.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "alerts", "enabled", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "The type of the autopilot.", "example": "agile" }, "enabled": { "type": "boolean", "description": "Whether the autopilot is enabled.", "example": true }, "alerts": { "type": "array", "items": { "required": [ "alert", "channel", "enabled", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the alert.", "format": "uuid" }, "alert": { "minLength": 1, "type": "string", "description": "The alert indicator.", "example": "due_soon" }, "enabled": { "type": "boolean", "description": "Whether the alert is enabled.", "example": true }, "channel": { "minLength": 1, "type": "string", "description": "The channel of the alert.", "example": "email" } }, "additionalProperties": false }, "description": "The alerts of the autopilot." }, "id": { "type": "string", "description": "The id of the autopilot.", "format": "uuid" }, "createdOn": { "type": "string", "description": "The date this object was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this object.", "format": "uuid" }, "updatedOn": { "type": "string", "description": "The date this object was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last modified this object.", "format": "uuid" } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" } }, "/invitations": { "post": { "tags": [ "Invitations" ], "summary": "Invites a user to the workspace.", "description": "Invites the user with the email address to the workspace with the specified id.\r\nSends an invitation email to the user with a link to accept the invitation.\r\nFor automated invitation flows, sending the email can be skipped by setting the\r\n'skipSendingEmail' flag to 'true'.\r\nAdditionally, the invitation code, which is valid for 24 hours,\r\nis returned so that the caller can accept the invitation right away.", "requestBody": { "description": "The model to invite a user to the workspace.", "content": { "application/json": { "schema": { "type": "object", "properties": { "workspaceId": { "type": "string", "description": "The id of the workspace to invite the user to.\r\nIf not set, a new workspace will be created.", "format": "uuid", "nullable": true }, "planId": { "type": "string", "description": "The selected plan of the workspace.\r\nOnly allowed when creating a new workspace.\r\nDefaults to the free plan.", "nullable": true, "example": null }, "invitationFlow": { "type": "string", "description": "The current invitation flow.\r\nUse 'invite' for an invitation from a system admin,\r\n'new_user_new_workspace' for an invitation when creating a workspace for a new user or\r\n'existing_user_new_workspace' when creating a workspace for an existing user.", "nullable": true, "example": "invite" }, "roleId": { "type": "string", "description": "The id of the role to which the new user should be added.", "format": "uuid", "nullable": true }, "email": { "type": "string", "description": "The email of the user to be invited.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "password": { "type": "string", "description": "The Password of the user to be invited.", "nullable": true, "example": "AC0mplexP@ssw0rd" }, "firstName": { "type": "string", "description": "The first name of the user to be invited.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the user to be invited.", "nullable": true, "example": "Creative" }, "title": { "type": "string", "description": "The title of the user to be invited.", "nullable": true, "example": "Miss" }, "position": { "type": "string", "description": "The position of the user to be invited.", "nullable": true, "example": "Creative Director" }, "gender": { "type": "string", "description": "The gender of the user to be invited. Can be 'male', 'female' or 'other'.", "nullable": true, "example": "female" }, "skipSendingEmail": { "type": "boolean", "description": "If set to true, skips sending the welcome email. Important for batch invites.", "example": false }, "teamIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of team ids where the user should be assigned to.", "nullable": true }, "bookedSeats": { "type": "integer", "description": "The amount of booked seats.", "format": "int32", "nullable": true, "example": 25 } }, "additionalProperties": false, "description": "The invitation of a user to a workspace." } }, "application/*+json": { "schema": { "type": "object", "properties": { "workspaceId": { "type": "string", "description": "The id of the workspace to invite the user to.\r\nIf not set, a new workspace will be created.", "format": "uuid", "nullable": true }, "planId": { "type": "string", "description": "The selected plan of the workspace.\r\nOnly allowed when creating a new workspace.\r\nDefaults to the free plan.", "nullable": true, "example": null }, "invitationFlow": { "type": "string", "description": "The current invitation flow.\r\nUse 'invite' for an invitation from a system admin,\r\n'new_user_new_workspace' for an invitation when creating a workspace for a new user or\r\n'existing_user_new_workspace' when creating a workspace for an existing user.", "nullable": true, "example": "invite" }, "roleId": { "type": "string", "description": "The id of the role to which the new user should be added.", "format": "uuid", "nullable": true }, "email": { "type": "string", "description": "The email of the user to be invited.", "nullable": true, "example": "carla.creative@ncnstn.com" }, "password": { "type": "string", "description": "The Password of the user to be invited.", "nullable": true, "example": "AC0mplexP@ssw0rd" }, "firstName": { "type": "string", "description": "The first name of the user to be invited.", "nullable": true, "example": "Carla" }, "lastName": { "type": "string", "description": "The last name of the user to be invited.", "nullable": true, "example": "Creative" }, "title": { "type": "string", "description": "The title of the user to be invited.", "nullable": true, "example": "Miss" }, "position": { "type": "string", "description": "The position of the user to be invited.", "nullable": true, "example": "Creative Director" }, "gender": { "type": "string", "description": "The gender of the user to be invited. Can be 'male', 'female' or 'other'.", "nullable": true, "example": "female" }, "skipSendingEmail": { "type": "boolean", "description": "If set to true, skips sending the welcome email. Important for batch invites.", "example": false }, "teamIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The list of team ids where the user should be assigned to.", "nullable": true }, "bookedSeats": { "type": "integer", "description": "The amount of booked seats.", "format": "int32", "nullable": true, "example": 25 } }, "additionalProperties": false, "description": "The invitation of a user to a workspace." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "invitationCode": { "type": "string", "description": "The invitation code that is used to confirm the invitation.\r\nThe code is valid for 24 hours.", "nullable": true, "example": "a368cfdb4=" }, "passwordResetCode": { "type": "string", "description": "A code that is used to reset the user's password.", "nullable": true, "example": "f84ab34=" }, "userId": { "type": "string", "description": "The id of the user that has been invited.", "format": "uuid" }, "workspace": { "required": [ "allowCredentialsLogin", "allowSocialLogin" ], "type": "object", "properties": { "name": { "maxLength": 1000, "type": "string", "description": "The workspace name. Optional.", "nullable": true, "example": "NCNSTN Creative Agency" }, "description": { "maxLength": 1000, "type": "string", "description": "The workspace description. Optional.", "nullable": true, "example": "We create awesome digital experiences." }, "language": { "maxLength": 25, "type": "string", "description": "The workspace language. Optional.", "nullable": true, "example": "de-DE" }, "type": { "maxLength": 25, "type": "string", "description": "The workspace type. Optional.", "nullable": true, "example": "creative-agency" }, "size": { "maxLength": 100, "type": "string", "description": "The workspace size. Optional.", "nullable": true, "example": "15" }, "goals": { "maxItems": 25, "type": "array", "items": { "type": "string" }, "description": "The workspace team goals. Optional.", "nullable": true }, "selfAttribution": { "maxLength": 100, "type": "string", "description": "The way the workspace noticed awork, set during the onboarding.", "nullable": true }, "previousTool": { "maxLength": 100, "type": "string", "description": "The project management tool used before awork, set during the onboarding.", "nullable": true }, "allowSocialLogin": { "type": "boolean", "description": "Whether the social login via apple and google is allowed." }, "allowCredentialsLogin": { "type": "boolean", "description": "Whether the user can login with username and password." }, "allowAutomaticScimUserBooking": { "type": "boolean", "description": "Whether the SCIM integration should be able to book additional user seats when provisioning and activating new users,\r\nor should return BadRequest.\r\nOnly admins are allowed to change this setting.", "nullable": true }, "id": { "type": "string", "description": "The id of the workspace.", "format": "uuid" }, "subdomains": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The subdomain hostname.", "nullable": true, "example": "ncnstn" }, "isDefault": { "type": "boolean", "description": "Whether this is the default subdomain of the workspace.", "example": true } }, "additionalProperties": false, "description": "The base subdomain model." }, "description": "The workspace's subdomains. Read-only.", "nullable": true }, "memberCount": { "type": "integer", "description": "The amount of workspace members. Only visible when the user is authenticated. Read-only.", "format": "int32", "nullable": true, "example": 25 }, "lastUsed": { "type": "boolean", "description": "Whether this is the workspace the current user last logged in with.", "example": true }, "lastLogin": { "type": "string", "description": "The date and time the current user last logged in with this workspace.", "format": "date-time", "nullable": true }, "accountIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of identities assigned to this workspace. Read-only.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the workspace has uploaded a workspace image.", "example": true }, "createdOn": { "type": "string", "description": "The date this workspace was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this workspace.\r\nOnly set after the first invitation succeeded.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this workspace was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this workspace.\r\nOnly set after the first invitation succeeded.", "format": "uuid", "nullable": true }, "isTestWorkspace": { "type": "boolean", "description": "Indicates if the workspace is a test workspace.", "example": false }, "isApproved": { "type": "boolean", "description": "Indicates if the user accepted the invitation to the workspace.", "example": true }, "allowSSOLogin": { "type": "boolean", "description": "Whether the user can login via an external SSO provider.", "example": true }, "isScimActivated": { "type": "boolean", "description": "Whether the workspace has SCIM user provisioning enabled." }, "virtualMRR": { "type": "number", "description": "The virtual MRR calculated during onborading.", "format": "double", "nullable": true }, "isMobileSignup": { "type": "boolean", "description": "The type of sign-up set during the onboarding.\r\nCan be: web, mobile, ...", "nullable": true }, "isFreeMail": { "type": "boolean", "description": "Whether the domain of the account of the workspace creator is a freemail or a business domain.", "nullable": true } }, "additionalProperties": false, "description": "The workspace GET model." } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/invitations/accept": { "post": { "tags": [ "Invitations" ], "summary": "Accepts the invitation with the invitation code.", "requestBody": { "description": "The invitation code received when creating the invitation.", "content": { "application/json": { "schema": { "type": "object", "properties": { "invitationCode": { "type": "string", "description": "The invitation code provided when creating the invitation.", "nullable": true, "example": "a368cfdb4=" }, "referralCode": { "type": "string", "description": "The referral code provided when creating the invitation from a referral.", "nullable": true, "example": "cdf989ff=" } }, "additionalProperties": false, "description": "The invitation of a user to a workspace." } }, "application/*+json": { "schema": { "type": "object", "properties": { "invitationCode": { "type": "string", "description": "The invitation code provided when creating the invitation.", "nullable": true, "example": "a368cfdb4=" }, "referralCode": { "type": "string", "description": "The referral code provided when creating the invitation from a referral.", "nullable": true, "example": "cdf989ff=" } }, "additionalProperties": false, "description": "The invitation of a user to a workspace." } } } }, "responses": { "200": { "description": "Success" } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/workspaces/{workspaceId}": { "get": { "tags": [ "Workspaces" ], "summary": "Returns the workspace with the specified id.", "description": "Returns the workspace with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "allowCredentialsLogin", "allowSocialLogin" ], "type": "object", "properties": { "name": { "maxLength": 1000, "type": "string", "description": "The workspace name. Optional.", "nullable": true, "example": "NCNSTN Creative Agency" }, "description": { "maxLength": 1000, "type": "string", "description": "The workspace description. Optional.", "nullable": true, "example": "We create awesome digital experiences." }, "language": { "maxLength": 25, "type": "string", "description": "The workspace language. Optional.", "nullable": true, "example": "de-DE" }, "type": { "maxLength": 25, "type": "string", "description": "The workspace type. Optional.", "nullable": true, "example": "creative-agency" }, "size": { "maxLength": 100, "type": "string", "description": "The workspace size. Optional.", "nullable": true, "example": "15" }, "goals": { "maxItems": 25, "type": "array", "items": { "type": "string" }, "description": "The workspace team goals. Optional.", "nullable": true }, "selfAttribution": { "maxLength": 100, "type": "string", "description": "The way the workspace noticed awork, set during the onboarding.", "nullable": true }, "previousTool": { "maxLength": 100, "type": "string", "description": "The project management tool used before awork, set during the onboarding.", "nullable": true }, "allowSocialLogin": { "type": "boolean", "description": "Whether the social login via apple and google is allowed." }, "allowCredentialsLogin": { "type": "boolean", "description": "Whether the user can login with username and password." }, "allowAutomaticScimUserBooking": { "type": "boolean", "description": "Whether the SCIM integration should be able to book additional user seats when provisioning and activating new users,\r\nor should return BadRequest.\r\nOnly admins are allowed to change this setting.", "nullable": true }, "id": { "type": "string", "description": "The id of the workspace.", "format": "uuid" }, "subdomains": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The subdomain hostname.", "nullable": true, "example": "ncnstn" }, "isDefault": { "type": "boolean", "description": "Whether this is the default subdomain of the workspace.", "example": true } }, "additionalProperties": false, "description": "The base subdomain model." }, "description": "The workspace's subdomains. Read-only.", "nullable": true }, "memberCount": { "type": "integer", "description": "The amount of workspace members. Only visible when the user is authenticated. Read-only.", "format": "int32", "nullable": true, "example": 25 }, "lastUsed": { "type": "boolean", "description": "Whether this is the workspace the current user last logged in with.", "example": true }, "lastLogin": { "type": "string", "description": "The date and time the current user last logged in with this workspace.", "format": "date-time", "nullable": true }, "accountIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of identities assigned to this workspace. Read-only.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the workspace has uploaded a workspace image.", "example": true }, "createdOn": { "type": "string", "description": "The date this workspace was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this workspace.\r\nOnly set after the first invitation succeeded.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this workspace was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this workspace.\r\nOnly set after the first invitation succeeded.", "format": "uuid", "nullable": true }, "isTestWorkspace": { "type": "boolean", "description": "Indicates if the workspace is a test workspace.", "example": false }, "isApproved": { "type": "boolean", "description": "Indicates if the user accepted the invitation to the workspace.", "example": true }, "allowSSOLogin": { "type": "boolean", "description": "Whether the user can login via an external SSO provider.", "example": true }, "isScimActivated": { "type": "boolean", "description": "Whether the workspace has SCIM user provisioning enabled." }, "virtualMRR": { "type": "number", "description": "The virtual MRR calculated during onborading.", "format": "double", "nullable": true }, "isMobileSignup": { "type": "boolean", "description": "The type of sign-up set during the onboarding.\r\nCan be: web, mobile, ...", "nullable": true }, "isFreeMail": { "type": "boolean", "description": "Whether the domain of the account of the workspace creator is a freemail or a business domain.", "nullable": true } }, "additionalProperties": false, "description": "The workspace GET model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-any": "true" }, "put": { "tags": [ "Workspaces" ], "summary": "Updates the workspace with the specified id.", "description": "Updates the workspace with the specified id.", "parameters": [ { "name": "workspaceId", "in": "path", "description": "The id of the workspace.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The new workspace values.", "content": { "application/json": { "schema": { "required": [ "allowCredentialsLogin", "allowSocialLogin" ], "type": "object", "properties": { "name": { "maxLength": 1000, "type": "string", "description": "The workspace name. Optional.", "nullable": true, "example": "NCNSTN Creative Agency" }, "description": { "maxLength": 1000, "type": "string", "description": "The workspace description. Optional.", "nullable": true, "example": "We create awesome digital experiences." }, "language": { "maxLength": 25, "type": "string", "description": "The workspace language. Optional.", "nullable": true, "example": "de-DE" }, "type": { "maxLength": 25, "type": "string", "description": "The workspace type. Optional.", "nullable": true, "example": "creative-agency" }, "size": { "maxLength": 100, "type": "string", "description": "The workspace size. Optional.", "nullable": true, "example": "15" }, "goals": { "maxItems": 25, "type": "array", "items": { "type": "string" }, "description": "The workspace team goals. Optional.", "nullable": true }, "selfAttribution": { "maxLength": 100, "type": "string", "description": "The way the workspace noticed awork, set during the onboarding.", "nullable": true }, "previousTool": { "maxLength": 100, "type": "string", "description": "The project management tool used before awork, set during the onboarding.", "nullable": true }, "allowSocialLogin": { "type": "boolean", "description": "Whether the social login via apple and google is allowed." }, "allowCredentialsLogin": { "type": "boolean", "description": "Whether the user can login with username and password." }, "allowAutomaticScimUserBooking": { "type": "boolean", "description": "Whether the SCIM integration should be able to book additional user seats when provisioning and activating new users,\r\nor should return BadRequest.\r\nOnly admins are allowed to change this setting.", "nullable": true } }, "additionalProperties": false, "description": "The workspace PUT model." } }, "application/*+json": { "schema": { "required": [ "allowCredentialsLogin", "allowSocialLogin" ], "type": "object", "properties": { "name": { "maxLength": 1000, "type": "string", "description": "The workspace name. Optional.", "nullable": true, "example": "NCNSTN Creative Agency" }, "description": { "maxLength": 1000, "type": "string", "description": "The workspace description. Optional.", "nullable": true, "example": "We create awesome digital experiences." }, "language": { "maxLength": 25, "type": "string", "description": "The workspace language. Optional.", "nullable": true, "example": "de-DE" }, "type": { "maxLength": 25, "type": "string", "description": "The workspace type. Optional.", "nullable": true, "example": "creative-agency" }, "size": { "maxLength": 100, "type": "string", "description": "The workspace size. Optional.", "nullable": true, "example": "15" }, "goals": { "maxItems": 25, "type": "array", "items": { "type": "string" }, "description": "The workspace team goals. Optional.", "nullable": true }, "selfAttribution": { "maxLength": 100, "type": "string", "description": "The way the workspace noticed awork, set during the onboarding.", "nullable": true }, "previousTool": { "maxLength": 100, "type": "string", "description": "The project management tool used before awork, set during the onboarding.", "nullable": true }, "allowSocialLogin": { "type": "boolean", "description": "Whether the social login via apple and google is allowed." }, "allowCredentialsLogin": { "type": "boolean", "description": "Whether the user can login with username and password." }, "allowAutomaticScimUserBooking": { "type": "boolean", "description": "Whether the SCIM integration should be able to book additional user seats when provisioning and activating new users,\r\nor should return BadRequest.\r\nOnly admins are allowed to change this setting.", "nullable": true } }, "additionalProperties": false, "description": "The workspace PUT model." } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "required": [ "allowCredentialsLogin", "allowSocialLogin" ], "type": "object", "properties": { "name": { "maxLength": 1000, "type": "string", "description": "The workspace name. Optional.", "nullable": true, "example": "NCNSTN Creative Agency" }, "description": { "maxLength": 1000, "type": "string", "description": "The workspace description. Optional.", "nullable": true, "example": "We create awesome digital experiences." }, "language": { "maxLength": 25, "type": "string", "description": "The workspace language. Optional.", "nullable": true, "example": "de-DE" }, "type": { "maxLength": 25, "type": "string", "description": "The workspace type. Optional.", "nullable": true, "example": "creative-agency" }, "size": { "maxLength": 100, "type": "string", "description": "The workspace size. Optional.", "nullable": true, "example": "15" }, "goals": { "maxItems": 25, "type": "array", "items": { "type": "string" }, "description": "The workspace team goals. Optional.", "nullable": true }, "selfAttribution": { "maxLength": 100, "type": "string", "description": "The way the workspace noticed awork, set during the onboarding.", "nullable": true }, "previousTool": { "maxLength": 100, "type": "string", "description": "The project management tool used before awork, set during the onboarding.", "nullable": true }, "allowSocialLogin": { "type": "boolean", "description": "Whether the social login via apple and google is allowed." }, "allowCredentialsLogin": { "type": "boolean", "description": "Whether the user can login with username and password." }, "allowAutomaticScimUserBooking": { "type": "boolean", "description": "Whether the SCIM integration should be able to book additional user seats when provisioning and activating new users,\r\nor should return BadRequest.\r\nOnly admins are allowed to change this setting.", "nullable": true }, "id": { "type": "string", "description": "The id of the workspace.", "format": "uuid" }, "subdomains": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The subdomain hostname.", "nullable": true, "example": "ncnstn" }, "isDefault": { "type": "boolean", "description": "Whether this is the default subdomain of the workspace.", "example": true } }, "additionalProperties": false, "description": "The base subdomain model." }, "description": "The workspace's subdomains. Read-only.", "nullable": true }, "memberCount": { "type": "integer", "description": "The amount of workspace members. Only visible when the user is authenticated. Read-only.", "format": "int32", "nullable": true, "example": 25 }, "lastUsed": { "type": "boolean", "description": "Whether this is the workspace the current user last logged in with.", "example": true }, "lastLogin": { "type": "string", "description": "The date and time the current user last logged in with this workspace.", "format": "date-time", "nullable": true }, "accountIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "The ids of identities assigned to this workspace. Read-only.", "nullable": true }, "hasImage": { "type": "boolean", "description": "Whether the workspace has uploaded a workspace image.", "example": true }, "createdOn": { "type": "string", "description": "The date this workspace was created.", "format": "date-time" }, "createdBy": { "type": "string", "description": "The id of the user who created this workspace.\r\nOnly set after the first invitation succeeded.", "format": "uuid", "nullable": true }, "updatedOn": { "type": "string", "description": "The date this workspace was last modified.", "format": "date-time" }, "updatedBy": { "type": "string", "description": "The id of the user who last updated this workspace.\r\nOnly set after the first invitation succeeded.", "format": "uuid", "nullable": true }, "isTestWorkspace": { "type": "boolean", "description": "Indicates if the workspace is a test workspace.", "example": false }, "isApproved": { "type": "boolean", "description": "Indicates if the user accepted the invitation to the workspace.", "example": true }, "allowSSOLogin": { "type": "boolean", "description": "Whether the user can login via an external SSO provider.", "example": true }, "isScimActivated": { "type": "boolean", "description": "Whether the workspace has SCIM user provisioning enabled." }, "virtualMRR": { "type": "number", "description": "The virtual MRR calculated during onborading.", "format": "double", "nullable": true }, "isMobileSignup": { "type": "boolean", "description": "The type of sign-up set during the onboarding.\r\nCan be: web, mobile, ...", "nullable": true }, "isFreeMail": { "type": "boolean", "description": "Whether the domain of the account of the workspace creator is a freemail or a business domain.", "nullable": true } }, "additionalProperties": false, "description": "The workspace GET model." } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-workspace-manage-config": [ "write" ] } }, "/workspaces/types": { "get": { "tags": [ "Workspaces" ], "summary": "Returns all available workspace types.", "description": "Returns all available workspace types.", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/users/workload": { "get": { "tags": [ "Workload" ], "summary": "Returns the users' workloads per day.", "description": "Returns the users' workloads per day for projects, tasks, task schedules and calendar events\n that have an overlap with the interval specified by intervalStart and intervalEnd.\n Takes into consideration weekly availability, absences, user capacity, planned efforts, as well as project budget.", "parameters": [ { "name": "userIds", "in": "query", "description": "The ids of the users to get the workload for.", "required": true, "schema": { "type": "object", "additionalProperties": false, "description": "This class is used to bind a querystring list of Guid (as a comma separated list) to the List of Guid parameter in a\r\nminimal api endpoint." } }, { "name": "intervalStart", "in": "query", "description": "The start of the interval to filter by.", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "intervalEnd", "in": "query", "description": "The end of the interval to filter by.", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "roughPlanningFrom", "in": "query", "description": "The number of days from today when the rough planning should start.", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "fetchDetails", "in": "query", "description": "(Optional - default: false) If set to true, the result will contain the hierarchy of elements that are contributing\r\nto the workload (projects, tasks, appointments).\r\nOtherwise it will return only the workload value.\r\nWorks only for single day queries.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "workloads": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "description": "The date of the calculated utilisation.", "format": "date-time" }, "duration": { "type": "number", "format": "float", "readOnly": true }, "userCapacity": { "type": "integer", "format": "int32", "nullable": true }, "projects": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "company": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "nullable": true }, "name": { "type": "string", "nullable": true }, "hasImage": { "type": "boolean" } }, "additionalProperties": false }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "duration": { "type": "integer", "description": "The duration of the planned effort of the user for this task.\r\nIncludes the duration of recurring tasks if the IsRecurring flag is set to true.", "format": "int32" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the entity.", "nullable": true, "example": "Website Design and Implementation" }, "type": { "type": "string", "description": "The type of the status.", "nullable": true } }, "additionalProperties": false }, "taskSchedules": { "type": "array", "items": { "type": "object", "properties": { "duration": { "type": "integer", "format": "int32", "readOnly": true }, "from": { "type": "string", "format": "date-time" }, "to": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "nullable": true }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the task.\r\nIn that case the Name and the Status will be shadowed.", "nullable": true }, "isRecurring": { "type": "boolean", "description": "Whether the task has a recurrency rule." } }, "additionalProperties": false }, "nullable": true }, "timeBookings": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "description": { "type": "string", "nullable": true }, "duration": { "type": "integer", "format": "int32" }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the project time booking.\r\nIn that case the Description will be shadowed.", "nullable": true } }, "additionalProperties": false }, "nullable": true }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the project.\r\nIn that case the Name and the ClientName will be shadowed.", "nullable": true }, "hasImage": { "type": "boolean" } }, "additionalProperties": false }, "nullable": true }, "tasks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "duration": { "type": "integer", "description": "The duration of the planned effort of the user for this task.\r\nIncludes the duration of recurring tasks if the IsRecurring flag is set to true.", "format": "int32" }, "taskStatus": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "The name of the entity.", "nullable": true, "example": "Website Design and Implementation" }, "type": { "type": "string", "description": "The type of the status.", "nullable": true } }, "additionalProperties": false }, "taskSchedules": { "type": "array", "items": { "type": "object", "properties": { "duration": { "type": "integer", "format": "int32", "readOnly": true }, "from": { "type": "string", "format": "date-time" }, "to": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "nullable": true }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the task.\r\nIn that case the Name and the Status will be shadowed.", "nullable": true }, "isRecurring": { "type": "boolean", "description": "Whether the task has a recurrency rule." } }, "additionalProperties": false }, "nullable": true }, "appointments": { "type": "array", "items": { "type": "object", "properties": { "providerName": { "type": "string", "nullable": true }, "calendarName": { "type": "string", "nullable": true }, "duration": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ], "x-access-user-planning-data": [ "read" ] } }, "/projecttimebookings/{timeBookingId}": { "delete": { "tags": [ "ProjectTimeBookings" ], "summary": "Deletes a project time booking by id.", "description": "", "parameters": [ { "name": "timeBookingId", "in": "path", "description": "The id of the project time booking.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "put": { "tags": [ "ProjectTimeBookings" ], "summary": "Updates a given project time booking.", "description": "", "parameters": [ { "name": "timeBookingId", "in": "path", "description": "The id of the project time booking.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The updated data for the project time booking.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user this project time booking is for.", "format": "uuid" }, "projectId": { "type": "string", "description": "The id of the project this project time booking is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date of this project time booking.", "format": "date", "example": "2022-03-01" }, "endDate": { "type": "string", "description": "The end date and time of this project time booking.", "format": "date", "example": "2022-03-02" }, "duration": { "type": "integer", "description": "The duration (in seconds) of this project time booking.", "format": "int32" }, "description": { "type": "string", "description": "The optional name/description for this time booking.", "nullable": true }, "laneOrder": { "type": "integer", "description": "The order in which this object should be shown in the timeline (row number).\r\nThis value is used by the awork FE.", "format": "int32" } }, "additionalProperties": false } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this project time booking is for.", "format": "uuid" }, "projectId": { "type": "string", "description": "The id of the project this project time booking is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date of the project time booking.", "format": "date" }, "endDate": { "type": "string", "description": "The end date of the project time booking.", "format": "date" }, "duration": { "type": "integer", "description": "The planned duration, expressed in seconds, of this project time booking.", "format": "int32" }, "description": { "type": "string", "description": "The optional name/description for this project time booking.", "nullable": true }, "laneOrder": { "type": "integer", "description": "The order in which this object should be shown in the timeline (row number).\r\nUsed by the FE.", "format": "int32" }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the project.\r\nIn that case the Description will be shadowed.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/projecttimebookings": { "get": { "tags": [ "ProjectTimeBookings" ], "summary": "Returns a list of project time bookings.", "description": "", "parameters": [ { "name": "page", "in": "query", "description": "The page number", "schema": { "type": "integer", "default": 1, "nullable": true } }, { "name": "pageSize", "in": "query", "description": "The page size", "schema": { "type": "integer", "default": 100, "nullable": true } }, { "name": "orderby", "in": "query", "description": "The properties to order by", "allowEmptyValue": true, "schema": { "type": "string", "default": "CreatedOn", "nullable": true } }, { "name": "filterby", "in": "query", "description": "The filter expression to filter by", "allowEmptyValue": true, "schema": { "type": "string", "nullable": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this project time booking is for.", "format": "uuid" }, "projectId": { "type": "string", "description": "The id of the project this project time booking is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date of the project time booking.", "format": "date" }, "endDate": { "type": "string", "description": "The end date of the project time booking.", "format": "date" }, "duration": { "type": "integer", "description": "The planned duration, expressed in seconds, of this project time booking.", "format": "int32" }, "description": { "type": "string", "description": "The optional name/description for this project time booking.", "nullable": true }, "laneOrder": { "type": "integer", "description": "The order in which this object should be shown in the timeline (row number).\r\nUsed by the FE.", "format": "int32" }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the project.\r\nIn that case the Description will be shadowed.", "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "post": { "tags": [ "ProjectTimeBookings" ], "summary": "Creates a new project time booking for a given project and user.", "description": "", "requestBody": { "description": "The data to create a new project time booking.", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "description": "The id of the user this project time booking is for.", "format": "uuid" }, "projectId": { "type": "string", "description": "The id of the project this project time booking is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date of this project time booking.", "format": "date", "example": "2022-03-01" }, "endDate": { "type": "string", "description": "The end date and time of this project time booking.", "format": "date", "example": "2022-03-02" }, "duration": { "type": "integer", "description": "The duration (in seconds) of this project time booking.", "format": "int32" }, "description": { "type": "string", "description": "The optional name/description for this time booking.", "nullable": true }, "laneOrder": { "type": "integer", "description": "The order in which this object should be shown in the timeline (row number).\r\nThis value is used by the awork FE.", "format": "int32" } }, "additionalProperties": false } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this project time booking is for.", "format": "uuid" }, "projectId": { "type": "string", "description": "The id of the project this project time booking is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date of the project time booking.", "format": "date" }, "endDate": { "type": "string", "description": "The end date of the project time booking.", "format": "date" }, "duration": { "type": "integer", "description": "The planned duration, expressed in seconds, of this project time booking.", "format": "int32" }, "description": { "type": "string", "description": "The optional name/description for this project time booking.", "nullable": true }, "laneOrder": { "type": "integer", "description": "The order in which this object should be shown in the timeline (row number).\r\nUsed by the FE.", "format": "int32" }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the project.\r\nIn that case the Description will be shadowed.", "nullable": true } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/users/projecttimebookings": { "get": { "tags": [ "ProjectTimeBookings" ], "summary": "Returns the project time bookings in a specified time range for a list of users.", "description": "", "parameters": [ { "name": "userIds", "in": "query", "description": "The ids of the users to get the project time bookings for.", "required": true, "schema": { "type": "object", "additionalProperties": false, "description": "This class is used to bind a querystring list of Guid (as a comma separated list) to the List of Guid parameter in a\r\nminimal api endpoint." } }, { "name": "intervalStart", "in": "query", "description": "The start of the interval to filter by.", "required": true, "schema": { "type": "string", "format": "date" } }, { "name": "intervalEnd", "in": "query", "description": "The end of the interval to filter by.", "required": true, "schema": { "type": "string", "format": "date" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "timeBookings": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this project time booking is for.", "format": "uuid" }, "projectId": { "type": "string", "description": "The id of the project this project time booking is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date of the project time booking.", "format": "date" }, "endDate": { "type": "string", "description": "The end date of the project time booking.", "format": "date" }, "duration": { "type": "integer", "description": "The planned duration, expressed in seconds, of this project time booking.", "format": "int32" }, "description": { "type": "string", "description": "The optional name/description for this project time booking.", "nullable": true }, "laneOrder": { "type": "integer", "description": "The order in which this object should be shown in the timeline (row number).\r\nUsed by the FE.", "format": "int32" }, "isAnonymized": { "type": "boolean", "description": "This will be true if the user doesn't have access to the project.\r\nIn that case the Description will be shadowed.", "nullable": true } }, "additionalProperties": false }, "nullable": true } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/taskschedules/{taskScheduleId}": { "delete": { "tags": [ "TaskSchedules" ], "summary": "Deletes a task schedule by id.", "description": "", "parameters": [ { "name": "taskScheduleId", "in": "path", "description": "The id of the task schedule.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "get": { "tags": [ "TaskSchedules" ], "summary": "Returns a task schedule by id.", "description": "", "parameters": [ { "name": "taskScheduleId", "in": "path", "description": "The id of the task schedule.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this task schedule is for.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this task schedule is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T09:00:00Z" }, "endDate": { "type": "string", "description": "The end date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T10:00:00Z" }, "plannedDuration": { "type": "integer", "description": "The number of seconds of planned work.", "format": "int32", "example": 3600 } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "put": { "tags": [ "TaskSchedules" ], "summary": "Updates a given task schedule.", "description": "", "parameters": [ { "name": "taskScheduleId", "in": "path", "description": "The id of the task schedule.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "The task schedule data to update a task schedule.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task this task schedule is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T09:00:00Z" }, "endDate": { "type": "string", "description": "The end date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T10:00:00Z" } }, "additionalProperties": false } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this task schedule is for.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this task schedule is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T09:00:00Z" }, "endDate": { "type": "string", "description": "The end date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T10:00:00Z" }, "plannedDuration": { "type": "integer", "description": "The number of seconds of planned work.", "format": "int32", "example": 3600 } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/taskschedules": { "get": { "tags": [ "TaskSchedules" ], "summary": "Returns a list of task schedules.", "description": "", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this task schedule is for.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this task schedule is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T09:00:00Z" }, "endDate": { "type": "string", "description": "The end date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T10:00:00Z" }, "plannedDuration": { "type": "integer", "description": "The number of seconds of planned work.", "format": "int32", "example": 3600 } }, "additionalProperties": false } } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] }, "post": { "tags": [ "TaskSchedules" ], "summary": "Creates a new task schedule for a given task and a given user.", "description": "", "requestBody": { "description": "The data to create a new task schedule from.", "content": { "application/json": { "schema": { "type": "object", "properties": { "taskId": { "type": "string", "description": "The id of the task this task schedule is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T09:00:00Z" }, "endDate": { "type": "string", "description": "The end date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T10:00:00Z" }, "userId": { "type": "string", "description": "The id of the user this task schedule is for.", "format": "uuid" } }, "additionalProperties": false } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdOn": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "format": "uuid" }, "updatedOn": { "type": "string", "format": "date-time" }, "updatedBy": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "description": "The id of the user this task schedule is for.", "format": "uuid" }, "taskId": { "type": "string", "description": "The id of the task this task schedule is for.", "format": "uuid" }, "startDate": { "type": "string", "description": "The start date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T09:00:00Z" }, "endDate": { "type": "string", "description": "The end date and time of this task schedule.", "format": "date-time", "example": "2022-03-01T10:00:00Z" }, "plannedDuration": { "type": "integer", "description": "The number of seconds of planned work.", "format": "int32", "example": 3600 } }, "additionalProperties": false } } } } }, "security": [ { "oauth2": [ "full_access" ] } ] } }, "/taskschedules/bytaskid/{taskId}": { "post": { "tags": [ "TaskSchedules" ], "summary": "Creates task schedules from a task by id.", "description": "Creates task schedules from a task by id. The task must have start and due date and at least one assignee.\n If more than one user is assigned to the task, then the user needs to opt in to create task schedules for all assignees\n by setting the\n 'createSchedulesForAllAssignees' query param to true. This requires admin or feature permissions.", "parameters": [ { "name": "taskId", "in": "path", "description": "The id of the task.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "createSchedulesForAllAssignees", "in": "query", "description": "Whether schedules should be created for all assignees of the task.", "schema": { "type": "boolean", "default": false } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [ "full_access" ] } ] } } }, "tags": [ { "name": "Accounts", "description": "The accounts endpoints allow you to manage the basic account details of a user." }, { "name": "ClientApplications", "description": "Client applications are important for the external login flow used by your applications. These endpoints allow you to manage the client applications registered by your workspace." }, { "name": "Absences", "description": "The absence endpoints allow you to manage absences for users." }, { "name": "ApiUsers", "description": "API users are required to create API keys. Changes made by a client using an API key are shown in the UI as the associated API user." }, { "name": "AssignedTasks", "description": "The assigned tasks endpoints allow you to get all assigned tasks of a user.\n Project tasks are only visible if the related project is in progress." }, { "name": "ChecklistItems", "description": "The checklist items endpoints can be used for managing the checklist items of a task." }, { "name": "Comments", "description": "These endpoints allow you to manage comments for various entities." }, { "name": "Companies", "description": "The company endpoints allow you to add and manage companies and their details." }, { "name": "CompanyTags", "description": "The endpoint to manage the tags." }, { "name": "Dashboards", "description": "The Dashboard Endpoints allow you to manage Dashboards and Widgets for users." }, { "name": "EntityTimeEntries", "description": "The endpoints allow access to time entires and tracked times on specific entities like 'projects' and 'tasks'." }, { "name": "Global", "description": "The global endpoints contains a set of internal endpoints that are not tied to a specific feature." }, { "name": "Permissions", "description": "The permissions endpoints provide the permission information of the workspace.\n That includes the complete permission set of the currently logged-in user as well as all available features." }, { "name": "PrivateTasks", "description": "Private tasks belong to a single user.\n Only the users themselves have access to their tasks and they can only be assigned to them.\n It is possible to create and assign private tasks to another user in which case both users have access to the task." }, { "name": "ProjectMilestones", "description": "The project milestone endpoints allow you to work with the basic project milestone data." }, { "name": "ProjectMilestoneTemplates", "description": "Endpoints to manage project milestone templates. From these templates, project milestones can be created,\n when you create a project with a project template." }, { "name": "ProjectRoles", "description": "The project roles endpoints allow you to define roles for your project members\n You can assign members to these roles on each project.\n If the roles are linked to the project types then the roles are available in every project using this type.\n When you want to delete a project role which is still in use, you are required to specify which role the currently assigned members should be assigned to instead." }, { "name": "Projects", "description": "The projects endpoints allow you to work with the basic project data.\n If you don't assign a customer to the project, the project will be an internal project.\n In addition to the normal operation you can handle the project members and tags of the projects.\n When you assign a user to this project as a project member, you need to specify a project role for this project member. The available roles depend on the type of the project.\n You can also make one member responsible for the project, which means that we will notify this person if anything of interest happens in the project.\n The tags help you to add additional values to your projects and to find them faster.\n If you create new tags, they will be available for all other projects, too." }, { "name": "ProjectStatuses", "description": "The project status endpoints allow you to define statuses for projects.\n A status defines the current situation of a project.\n The statuses of a project type have an order which defines the flow the project typically goes through.\n Statuses can also be unlinked from the typical flow." }, { "name": "ProjectTasks", "description": "The project tasks are linked to projects.\n Only members of the project or users with project management 'read' permissions have access to these tasks." }, { "name": "ProjectTemplates", "description": "The project templates endpoints allow you to define different templates for projects." }, { "name": "ProjectTypes", "description": "The project types endpoints allow you to define different types for projects.\n The project types contain the basic information of the project.\n This includes the project roles, statuses and status orders." }, { "name": "Roles", "description": "The roles endpoints allow you to configure the permissions of users.\n You have the possibility to manage roles and assign users to these roles." }, { "name": "TaskBundles", "description": "Task bundles are used to manage task templates, task list templates and task dependency templates.\n They can be imported into projects and simplify reoccuring processes." }, { "name": "TaskDependencies", "description": "The task dependency endpoints allow you to get all task dependencies of a project or a task.\n Every Task can have multiple predeccessors and one successor" }, { "name": "TaskDependencyTemplates", "description": "This controller is used to manage task dependency templates. A task dependency template belongs to one task bundle\n and connects two task templates from the same task bundle with each other. When a project gets created from a project template with task dependency templates,\n these templates get converted to actual task dependencies." }, { "name": "TaskLists", "description": "Task lists are a way to group tasks into user-defined lists.\n Task lists are currently available in projects and for users.\n This way, each project and each user can have a set of ordered task lists.\n Task lists can be reordered as well as the tasks within the list.\n Since tasks can be in multiple lists, the order is only applied to one list and does not affect others." }, { "name": "Tasks", "description": "The Tasks endpoints can be used for general task operations and batch operations.\n The batch operations include changing the task status, assigning users and more." }, { "name": "TasksBatch", "description": "Controller that offers batch operations for tasks." }, { "name": "TaskTemplates", "description": "The task templates endpoints can be used for managing task templates inside task bundles." }, { "name": "TaskViews", "description": "Task views are saved filters on project tasks.\n They can be stored by users and shared within the workspace. Users can subscribe to shared task views to use them." }, { "name": "Teams", "description": "The teams endpoints are used to manage the details of your team." }, { "name": "TimeEntries", "description": "The endpoints can be used for general operations on existing time entries.\n A time entry can be linked to a task and / or project, although it can also be created for the user themselves without any entity link.\n If the time entry is linked to a project it is also indirectly linked to the company of that project.\n Similarly, the time entry is automatically linked to the project of the the task." }, { "name": "TimeReports", "description": "The endpoints to manage the time reports." }, { "name": "TimeTracking", "description": "The endpoints can be used to start or stop an actual time tracking. As well as to get the last time tracking of a user." }, { "name": "TypeOfWork", "description": "The type of work endpoints allow you to manage your types of work. They are helpful to describe the type of a task or a time entry." }, { "name": "UserCapacity", "description": "The user capacity endpoints allow you to define the work capacity of users." }, { "name": "Users", "description": "The users endpoints allow you to manage the users of your workspace as well as their contact details." }, { "name": "UserTags", "description": "The endpoint to manage the tags." }, { "name": "EntityFiles", "description": "The entity file endpoints allow you to attach files to several entities." }, { "name": "Files", "description": "The file endpoints to get non shared and non temporay files." }, { "name": "Images", "description": "The image endpoints are used to upload and download profile images, for example for users, projects and your workspace.\n These endpoints also allow you to crop and scale the image to the size you need." }, { "name": "SharedFiles", "description": "These file endpoints are used to get shared files, for example to provide images in emails." }, { "name": "TemporaryFiles", "description": "The temporary file endpoints allow you to upload and update files \n that do not have a connection to any entity. The files can be linked to an entity later.\n They don’t show up in awork before they are either linked to a file or marked as a global file. \n Only the user who uploaded the file has access to the temporary file." }, { "name": "ProjectActions", "description": "The actions endpoints allow you to manage the actions for automations in awork." }, { "name": "ProjectAutomations", "description": "The automation endpoints allow you to manage the automations for projects in awork." }, { "name": "ProjectTemplateActions", "description": "The actions endpoints allow you to manage the actions for automations of project templates in awork." }, { "name": "ProjectTemplateAutomations", "description": "The automation endpoints allow you to manage the automations for projects in awork." }, { "name": "Webhooks", "description": "Webhooks can be used to get notified about events happening.\n These endpoints allow you to configure webhooks.\n Read more about webhooks in the developer documentation above." }, { "name": "Autopilot", "description": "The autopilot endpoints allow you to manage the awork autopilot for projects." }, { "name": "Invitations", "description": "The invitation endpoints are used to invite users to a workspace. You can invite a new user or an existing user to a workspace. The invitation code is used to identify the workspace and the account to which the user should be linked. The invitation code is encrypted and can only be decrypted by the service. The invitation code is valid for 24 hours." }, { "name": "Workspaces", "description": "The workspaces endpoints are used to manage the details of your workspace." }, { "name": "ProjectTimeBookings", "description": "\nThe project time bookings are used as a simple way to book a user's time for a specific project in a specific time frame.\nThose bookings are then used in the workload to calculate the estimated load of a user." }, { "name": "TaskSchedules", "description": "" }, { "name": "Workload", "description": "" } ] }