Task statuses and their workflow order:
Status transitions are not strictly enforced by the API — you can move a task to any status at any time.
| Status | Description |
|---|---|
pending | Task has been created but work has not started. |
onHold | Task is paused, waiting on a dependency or decision. |
inProgress | Actively being worked on. |
underReview | Work is complete and awaiting review. |
completed | Task has been reviewed and accepted. |
Valid phase values
| Value | Description |
|---|---|
business | Business understanding |
data_understanding | Data understanding |
data_preparation | Data preparation |
modeling | Modeling |
evaluation | Evaluation |
deployment | Deployment |
Create a task
POST /projects/:projectId/tasks
Creates a new task within a project. Only the project manager can create tasks.
Auth required: Yes
Path parameters
The project ID.
Request body
Task name.
Detailed description of the task.
CRISP-DM phase this task belongs to. One of:
business, data_understanding, data_preparation, modeling, evaluation, deployment.User ID of the team member to assign the task to. Must be a member of the project.
Estimated hours to complete the task.
Task priority. One of:
high, medium, low.ISO 8601 deadline date, e.g.
"2026-06-30T00:00:00.000Z".Response
Returns the newly createdTask object.
Example request
Example response
Errors
| Status | Description |
|---|---|
400 | Missing or invalid fields. |
401 | Missing or invalid token. |
403 | Only the project manager can create tasks. |
404 | Project not found. |
Get a task
GET /projects/:projectId/tasks/:taskId
Returns a single task with full detail, including notes and completion history.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Response
Unique task identifier.
Task name.
Task description.
ID of the parent project.
CRISP-DM phase.
Current task status:
pending, onHold, inProgress, underReview, or completed.Whether the task has been marked as completed.
Assigned user object or user ID, or
null if unassigned.ISO 8601 timestamp when work started, or
null.ISO 8601 timestamp when work finished, or
null.Estimated hours to complete.
Task priority:
high, medium, low, or null.ISO 8601 deadline, or
null.History of completion events.
Array of notes attached to the task.
ISO 8601 creation timestamp.
ISO 8601 last-updated timestamp.
Example request
Example response
Errors
| Status | Description |
|---|---|
401 | Missing or invalid token. |
403 | You are not a member of this project. |
404 | Project or task not found. |
Update a task
PUT /projects/:projectId/tasks/:taskId
Updates a task’s name, description, phase, assignment, or other metadata.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Request body
Updated task name.
Updated task description.
Updated CRISP-DM phase.
User ID of the assigned team member.
Updated hour estimate.
Updated priority:
high, medium, or low.Updated ISO 8601 deadline.
Response
Returns the updatedTask object.
Example request
Errors
| Status | Description |
|---|---|
400 | Missing or invalid fields. |
401 | Missing or invalid token. |
403 | Insufficient permissions. |
404 | Project or task not found. |
Delete a task
DELETE /projects/:projectId/tasks/:taskId
Permanently deletes a task and its notes. Only the project manager can delete tasks.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Example request
Example response
Errors
| Status | Description |
|---|---|
401 | Missing or invalid token. |
403 | Only the project manager can delete tasks. |
404 | Project or task not found. |
Update task status
POST /projects/:projectId/tasks/:taskId/status
Sets the current status of a task. Any project member can update the status of tasks assigned to them.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Request body
New status value. One of:
pending, onHold, inProgress, underReview, completed.Example request
Example response
Errors
| Status | Description |
|---|---|
400 | Invalid status value. |
401 | Missing or invalid token. |
403 | You are not a member of this project. |
404 | Project or task not found. |
Update task phase
PATCH /projects/:projectId/tasks/:taskId/phase
Moves a task to a different CRISP-DM phase.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Request body
New phase value. One of:
business, data_understanding, data_preparation, modeling, evaluation, deployment.Example request
Example response
Errors
| Status | Description |
|---|---|
400 | Invalid phase value. |
401 | Missing or invalid token. |
403 | Insufficient permissions. |
404 | Project or task not found. |
Toggle task completion
PATCH /projects/:projectId/tasks/:taskId/completed
Toggles the completed boolean flag on a task. Each call flips the current value.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Example request
Example response
Errors
| Status | Description |
|---|---|
401 | Missing or invalid token. |
403 | You are not a member of this project. |
404 | Project or task not found. |
Reassign a task
PATCH /projects/:projectId/tasks/:taskId/reassign
Assigns or unassigns a task to a team member. Pass null to remove the current assignment.
Auth required: Yes
Path parameters
The project ID.
The task ID.
Request body
User ID of the team member to assign the task to, or
null to unassign.Example request
Example response
Errors
| Status | Description |
|---|---|
400 | The specified user is not a member of this project. |
401 | Missing or invalid token. |
403 | Only the project manager can reassign tasks. |
404 | Project or task not found. |
Create a note
POST /projects/:projectId/tasks/:taskId/notes
Adds a text note to a task. Notes are visible to all project members in the task detail panel and are included in the project report for at-risk tasks.
Auth required: Yes
Path parameters
The project ID.
The task ID to attach the note to.
Request body
The text content of the note.
Example request
Example response
Errors
| Status | Description |
|---|---|
400 | Missing note content. |
401 | Missing or invalid token. |
403 | You are not a member of this project. |
404 | Project or task not found. |
Delete a note
DELETE /projects/:projectId/tasks/:taskId/notes/:noteId
Permanently deletes a note from a task.
Auth required: Yes
Path parameters
The project ID.
The task ID.
The note ID to delete.
Example request
Errors
| Status | Description |
|---|---|
401 | Missing or invalid token. |
403 | You can only delete your own notes. |
404 | Note, task, or project not found. |
