Task API
The Task API controller provides an API to query and manage tasks.
Endpoints​
Search tasks​
Returns the list of tasks that satisfy search request parameters.
URL​
/v1/tasks/search
Method​
POST
Request body​
TaskSearchRequest
- [Optional]
HTTP request example​
All request body parameters are optional.
Only one of [searchAfter, searchAfterOrEqual, searchBefore, searchBeforeOrEqual] search options must be present at once in the request.
If an empty body is provided, all tasks are returned:
curl -X 'POST' \
'http://{host}/v1/tasks/search' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d ''
Only assigned and with CREATED
state tasks will be returned:
curl -X 'POST' \
'http://{host}/v1/tasks/search' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d '{
"state": "CREATED",
"assigned": true
}'
Responses​
HTTP status | Description | Response schema |
---|---|---|
200 | On success | JSON array of objects with TaskSearchResponse structure |
400 | An error is returned when more than one search parameters among [searchAfter, searchAfterOrEqual, searchBefore, searchBeforeOrEqual] are present in the request. | JSON object with Error structure |
Get task​
This endpoint retrieves the details of a specific task identified by {taskId}
.
URL​
/v1/tasks/{taskId}
Method​
GET
Request parameters​
Parameter name | Type | Required | Description |
---|---|---|---|
taskId | path | true | ID of the task |
HTTP request example​
curl -X 'GET' \
'http://{host}/v1/tasks/{taskId}' \
-H 'accept: application/json'
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}'
Responses​
HTTP status | Description | Response schema |
---|---|---|
200 | On success | JSON object with TaskResponse structure |
404 | An error is returned when the task with the taskId is not found. | JSON object with Error structure |
Assign task​
Endpoint to assign a task with taskId
to assignee
or the active user. Returns the task.
URL​
/v1/tasks/{taskId}/assign
Method​
PATCH
Request parameters​
Parameter name | Type | Required | Description |
---|---|---|---|
taskId | path | true | ID of the task |
Request body​
TaskAssignRequest
- [Optional]
When using the REST API with a JWT authentication token, the following request body parameters may be used.
HTTP request example​
curl -X 'PATCH' \
'http://{host}/v1/tasks/{taskId}/assign' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}'
If JWT authentication is used:
curl -X 'PATCH' \
'http://{host}/v1/tasks/{taskId}/assign' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d '{
"assignee": "someAssignee",
"allowOverrideAssignment": true
}'
Responses​
HTTP status | Description | Response schema |
---|---|---|
200 | On success | JSON object with TaskResponse structure |
400 | An error is returned when the task is not active (not in the CREATED state). | JSON object with Error structure |
400 | An error is returned when task was already assigned. | JSON object with Error structure |
403 | An error is returned when the user doesn't have the permission to assign another user to this task. | JSON object with Error structure |
404 | An error is returned when the task with the taskId is not found. | JSON object with Error structure |
Unassign task​
Unassign a task with the provided id. This returns the task.
URL​
/v1/tasks/{taskId}/unassign
Method​
PATCH
Request parameters​
Parameter name | Type | Required | Description |
---|---|---|---|
taskId | path | true | ID of the task |
HTTP request example​
curl -X 'PATCH' \
'http://{host}/v1/tasks/{taskId}/unassign' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}'
Responses​
HTTP status | Description | Response schema |
---|---|---|
200 | On success | JSON object with TaskResponse structure |
400 | An error is returned when the task is not active (not in the CREATED state). | JSON object with Error structure |
400 | An error is returned if the task was not assigned before. | JSON object with Error structure |
404 | An error is returned when the task with the taskId is not found. | JSON object with Error structure |
Complete task​
Complete a task with taskId
and optional variables. Returns the task.
URL​
/v1/tasks/{taskId}/complete
Method​
PATCH
Request parameters​
Parameter name | Type | Required | Description |
---|---|---|---|
taskId | path | true | ID of the task |
Request body​
TaskCompleteRequest
- [Optional]
HTTP request example​
With empty body:
curl -X 'PATCH' \
'http://{host}/v1/tasks/{taskId}/complete' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}'
With TaskCompleteRequest
:
curl -X 'PATCH' \
'http://{host}/v1/tasks/{taskId}/complete' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d '{
"variables": [
{
"name": "varA",
"value": "25"
}
]
}'
Responses​
HTTP status | Description | Response schema |
---|---|---|
200 | On success | JSON object with TaskResponse structure |
400 | An error is returned when the task is not active (not in the CREATED state). | JSON object with Error structure |
400 | An error is returned if the task was not assigned before. | JSON object with Error structure |
400 | An error is returned if the task is not assigned to the current user. | JSON object with Error structure |
404 | An error is returned when the task with the taskId is not found. | JSON object with Error structure |
Search task variables​
Returns a list of task variables for the specified taskId
and variableNames
.
URL​
/v1/tasks/{taskId}/variables/search
Method​
POST
Request parameters​
Parameter name | Type | Required | Description |
---|---|---|---|
taskId | path | true | ID of the task |
Request body​
VariablesSearchRequest
- [Optional]
HTTP request example​
If the request body is not provided or if the variableNames
parameter in the request is null
or empty, all variables associated with the task will be returned.
curl -X 'POST' \
'http://{host}/v1/tasks/{taskId}/variables/search' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d ''
curl -X 'POST' \
'http://{host}/v1/tasks/{taskId}/variables/search' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d '{
"variableNames": null
}'
curl -X 'POST' \
'http://{host}/v1/tasks/{taskId}/variables/search' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d '{
"variableNames": []
}'
Only the variables with name "varA" and "varB" will be returned if they are assigned to the task.
curl -X 'POST' \
'http://{host}/v1/tasks/{taskId}/variables/search' \
-H 'accept: application/json' \
-H 'Cookie: TASKLIST-SESSION={tasklistSessionId}' \
-d '{
"variableNames": [
"varA", "varB"
]
}'
Responses​
Starting with the 8.3
release, changes will be implemented to the response for a 200 status.
If isValueTruncated
is set to true
for any variable, the corresponding value
field will now be set to null
.
HTTP status | Description | Response schema |
---|---|---|
200 | On success | JSON array of objects with VariableResponse structure |
404 | An error is returned when the task with the taskId is not found. | JSON object with Error structure |