Manage tasks (also called "steps") within projects and phases. Tasks represent individual work items that can be assigned, tracked, and completed.
{
"id": 123,
"title": "Design homepage wireframe",
"phase_id": 456,
"completed": false,
"due_date": "2023-02-15",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z",
"phase": {
"id": 456,
"title": "Design Phase",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
}
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the task |
| title | string | The task's name |
| phase_id | integer | ID of the phase this task belongs to |
| completed | boolean | Whether the task has been completed |
| due_date | string | Task due date (YYYY-MM-DD format) |
| order | integer | Order of the task within its phase |
| phase | object | The phase object this task belongs to |
Retrieves a list of tasks the authenticated user has access to.
/api/v1/steps
| Parameter | Type | Description |
|---|---|---|
| company_id | integer | Filter tasks by specific company ID |
| completed | boolean | Filter by completion status |
| has_due_date | boolean | Filter tasks that have or don't have due dates |
| exclude_templates | boolean | Exclude tasks from template projects |
| per_page | integer | Number of results per page (max 1000) |
GET /api/v1/steps?completed=false&company_id=202&per_page=25
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
[
{
"id": 123,
"title": "Design homepage wireframe",
"phase_id": 456,
"completed": false,
"due_date": "2023-02-15",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z",
"phase": {
"id": 456,
"title": "Design Phase",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
}
]
Retrieves a specific task by ID.
/api/v1/steps/{id}
GET /api/v1/steps/123
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
{
"id": 123,
"title": "Design homepage wireframe",
"phase_id": 456,
"completed": false,
"due_date": "2023-02-15",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z",
"phase": {
"id": 456,
"title": "Design Phase",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
}
Creates a new task within a phase.
/api/v1/steps
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | The task's name |
| phase_id | integer | Yes | ID of the phase this task belongs to |
| content | string | No | Task content that will appear in the task details. Plain text is automatically converted to rich text format. |
| due_date | string | No | Task due date (YYYY-MM-DD) |
| completed | boolean | No | Whether the task is completed (defaults to false) |
POST /api/v1/steps
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
Accept: application/json
{
"title": "Create user flow diagram",
"phase_id": 456,
"content": "Design user flow for the new checkout process.\n\nInclude all edge cases and error states.",
"due_date": "2023-02-20"
}
{
"id": 124,
"title": "Create user flow diagram",
"phase_id": 456,
"completed": false,
"due_date": "2023-02-20",
"order": 2,
"created_at": "2023-01-15T10:00:00Z",
"updated_at": "2023-01-15T10:00:00Z",
"phase": {
"id": 456,
"title": "Design Phase",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
}
Updates an existing task's information, including marking it as completed.
/api/v1/steps/{id}
| Parameter | Type | Description |
|---|---|---|
| title | string | The task's name |
| content | string | Task content/description. Plain text is automatically converted to rich text format. |
| completed | boolean | Whether the task is completed |
| due_date | string | Task due date (YYYY-MM-DD) |
PUT /api/v1/steps/123
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
Accept: application/json
{
"title": "Design homepage wireframe (Updated)",
"content": "Updated requirements based on client feedback.",
"completed": true,
"due_date": "2023-02-18"
}
{
"id": 123,
"title": "Design homepage wireframe (Updated)",
"phase_id": 456,
"completed": true,
"due_date": "2023-02-18",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-15T14:30:00Z",
"phase": {
"id": 456,
"title": "Design Phase",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
}
Permanently deletes a task. Only company members can delete tasks.
/api/v1/steps/{id}
Warning: Deleting a task will permanently remove it and cannot be undone. Consider marking tasks as completed instead of deleting them to maintain project history.
DELETE /api/v1/steps/123
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
204 No Content