Endpoint: PATCH /tasks
Body:
patches
Array of objects
Supported attributes:
taskIds
Array of task ids, either UUIDs or task numbers
effects
Array of patch effects (objects). Each patch effect describe how one field of all the tasks referenced in taskIds
will be modified.
Supported effects:
{type: 'name', name: string}
Update name
{type: 'description', description: {message: string}}
Update description
{type: 'status', status: string, completedAt?: Date | undefined}
Update status
{type: 'deleted', deleted: boolean}
Update deleted
{type: 'parentTask', parentTaskId: UUID | null}
Update parent task
{type: 'assignees': assigneeIds: object}
Update assignees
Supported attributes of assigneeIds:
add
assignee ids to add (array of UUID, optional)remove
assignee ids to remove (array of UUID, optional){type: 'lists', listIds: object}
Update lists
Supported attributes of listIds:
add
list ids to add (array of UUID, optional)remove
list ids to remove (array of UUID, optional){type: 'fields', fieldTemplateId: UUID, field: object}
: Update fields
Supported attributes of field:
text
value when field template type is text (string or null, optional)
date
value when field template type is date (Date or null, optional)
recursion
recursion when field template type is date (object or null, optional)
label: {optionId: UUID | null}
value when field template type is select
labels
when field template type is labels (object)
Supported attributes of labels:
add
label ids to add (array of {id: UUID}
, optional)remove
label ids to remove (array of {id: UUID}
, optional)linkedTasks
value when field template type is linkedTask or reverseLinkedTask (object)
Supported attributes of linkedTasks:
add
task ids to add (array of {id: UUID, index: number}
, optional)remove
task ids to remove (array of {id: UUID, index: number}
, optional)userIds
value when field template type is users (object)
Supported attributes of userIds:
add
user ids to add (array of UUID, optional)remove
user ids to remove (array of UUID, optional)values
external urls when field template type is files (object)
Supported attribute of values:
add
values to add (array of string, optional)remove
values to remove (array of string, optional){type: 'trashState', trashState: 'trash', trashStateEffectAt: date}
Move trash to the task
{type: 'trashState', trashState: 'active', trashStateEffectAt: date}
Move task out of the trash
Example:
{
"patches": [
{
"taskIds": [123],
"effects": [
{
"type": "lists",
"listIds": {
"remove": ["list1"]
}
},
]
},
{
"taskIds": ["2673cd73-1c9c-4fef-891c-6b11e2eb8555"],
"effects": [
{
"type": "name",
"name": "new name"
},
{
"type": "lists",
"listIds": {
"add": ["list1"]
}
},
]
},
{
"taskIds": ["2673cd73-1c9c-4fef-891c-6b11e2eb8555", "16cd4d5c-6587-4f44-b91b-00390cb93716"],
"effects": [
{
"type": "fields",
"fieldTemplateId": "b0658f6c-c024-47f0-8edd-3e006fa109b7",
"field": {
"text": "new value"
}
},
{
"type": "fields",
"fieldTemplateId": "0ba19f50-fd33-40e9-9394-e544c7beee43",
"field": {
"labels": {
"remove": [{id: "labelId"}]
}
}
}
},
]
}
]
}
Response:
status
: 200 for success
Example request
curl <https://api.height.app/tasks> \\
-X PATCH \\
-H "Authorization: api-key secret_1234" \\
-H "Content-Type: application/json" \\
-d '{patches: [{"taskIds": ["foo-..."], "effects": [{"type": "name", "name": "new name"}]}]}'
Endpoint: PUT /tasks/:id
id
task index (number) or task id (UUID)Body:
name
string (optional)listIds
Array of UUID (optional)description
string (optional)status
string (optional)assigneesIds
Array of UUID (optional)parentTaskId
UUID (optional)