Entity
Tasks
Retrieve and manage tasks, predecessors, project moves, upserts, clones and notification behaviour.
Endpoints
/api/v2/tasksRetrieve a list/api/v2/tasks/{id}Retrieve one record/api/v2/tasksCreate records/api/v2/tasksUpdate records/api/v2/tasks/{id}Delete a recordPredecessors
/api/v2/tasks/{id}/predecessorsRetrieve all predecessors of a taskMove tasks
/api/v2/tasks/moveMove one or several tasks to another projectThe response is a JSON object representing the move operation result. Send tasks as an array of task IDs and project as the destination project ID. Only tasks and project should be present in the request.
To move tasks whose ids are 99259, 99260 and 99261 to a project whose id is 12345:
curl -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: bearer YourTokenHere' \
-d '{
"tasks": [
99259,
99260,
99261
],
"project": 12345
}' \
'https://app.celoxis.com/psa/api/v2/tasks/move'Disable notifications
/api/v2/tasks?notifications=falseUpdate a task without email or in-app notificationsThe response is a JSON object with the updated details of the task. Adding ?notifications=false ensures that no email or in-app notifications are triggered for the update. Include id and only the properties that need to change.
To update a task whose id is 99266 and set its actualPercentComplete to 64 without sending notifications:
curl -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: bearer YourTokenHere' \
-d '{
"id": 99266,
"actualPercentComplete": 64
}' \
'https://app.celoxis.com/psa/api/v2/tasks?notifications=false'Upsert a task
/api/v2/tasks/upsertCreate or update by external key/api/v2/tasks/upsertCreate or update by external keyProvide a non-empty externalKey (your system's id), omit id, and identify the project by ID, name or external key as supported. Celoxis finds a task with that externalKey in your company; if found it updates, otherwise it creates. The response includes the usual task JSON plus action (created or updated) and success: true. Multiple matches return HTTP 409.
curl -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: bearer YourTokenHere' \
-d '{
"externalKey": "ERP-T-9876",
"name": "Design review",
"project": "ERP-P-1001"
}' \
'https://app.celoxis.com/psa/api/v2/tasks/upsert'Clone a task
/api/v2/tasks/{id}/cloneCreate a task from an existing taskSend a JSON object in the request body with only the properties that should differ from the source task. The response is { data: {created-object} }.