Logo

Dyzo API

v2.0.0

Tasks

Complete Dyzo API Documentation - Project Management, Team Collaboration & Time Tracking Platform

API Overview

Capabilities and features

Complete task management including CRUD operations, subtasks, sections, bulk operations, and search.

Key Features

Create and assign tasks to team members
Set priorities, deadlines, and estimates
Manage subtasks and task sections
Bulk create/update/delete tasks
Search and filter tasks
Track task progress and status
Add comments and attachments
POST
/create-task/{assignby_id}/
200 OK

Create New Task (Form Data)

Create a task inside a project and assign employees. THIS API MUST BE SENT AS FORMDATA (not JSON).

JSONRequest Body
1FORMDATA Example:
2
3taskName: Implement user authentication
4projectId: 2438
5description: Add JWT authentication flow
6
7assigned_users[]: 1311
8assigned_users[]: 1312
9
10collaborators[]: 1400
11collaborators[]: 1500
12
13priority: high
14taskPosition: pending
15dueDate: 2024-11-15T23:59:59Z
16allocated_time: 8.5
17repeat: not_repeatable
18repeat_days[]: monday
19repeat_days[]: wednesday
20attachments[]: https://dyzo.ai/files/specs.pdf
POST
/api/bulk-create-tasks/{assignby_id}/?fromOnboarding=true|false
200 OK

Bulk Create Tasks

Create multiple tasks at once. Supports assigning users, setting due dates, priorities, and auto-assigning tasks to the 'Recently Assigned' section.

JSONRequest Body
1{
2 "tasks": [
3 {
4 "taskName": "Design Homepage Banner",
5 "description": "Create hero banner for Dyzo landing page",
6 "projectId": 201,
7 "userId": 110,
8 "assigned_users": [
9 110,
10 118
11 ],
12 "priority": "medium",
13 "dueDate": "2025-12-01T10:00:00Z"
14 },
15 {
16 "taskName": "API Integration",
17 "description": "Integrate payment webhook",
18 "projectId": 201,
19 "userId": 118,
20 "assigned_users": [
21 118
22 ],
23 "priority": "high",
24 "dueDate": "2025-12-05T18:00:00Z"
25 }
26 ]
27}
GET
/company-tasks/{company_id}/{employee_id}/?search=&startdate=&enddate=&projectId=&userId=&assignById=&collaboratorId=&taskPosition=&priority=&repeat=&isImported=&isComplete=
200 OK

Get All Tasks

Retrieve all tasks for the employee inside a company with full filtering and pagination support.

GET
/api/tasks/{task_id}/
200 OK

Get Task Details

Get detailed task information.

PUT
/task/{task_id}/{user_id}/
200 OK

Update Task (Full Fields)

Update any task field. The URL requires task_id and the ID of the user performing the update.

JSONRequest Body
1{
2 "taskName": "Updated Task Name",
3 "description": "Detailed task description with @[User Name](user_id) mentions",
4 "taskPosition": "in_progress", // Options: pending, in_progress, on_hold, stuck, under_review, completed, rejected, archived, cancelled, backlog, assigned, in_qa, deployment, not_started_yet
5 "priority": "high", // Options: low, medium, high
6 "dueDate": "2024-12-31T23:59:00Z",
7 "userId": 10, // Primary Assignee (Employee ID)
8 "assigned_users": [10, 11, 12], // List of Employee IDs
9 "collaborators": [13, 14], // List of Employee IDs
10 "projectId": 5, // Change Project
11 "section": 1, // Change Section
12 "allocated_time": 5.5, // Hours allocated
13 "parent": 100, // Parent Task ID (for subtasks)
14 "seen_by": [10],
15 "attachments": [
16 {"url": "https://...", "type": "image/png"}
17 ]
18}
PATCH
/update_task_status/{taskId}/
200 OK

Update Task Status

Change task completion status.

JSONRequest Body
1{
2 "status": "completed"
3}
DELETE
/task/{task_id}/?userId=
200 OK

Delete Task

Soft delete a single task. Also sends notifications to all collaborators and assigned users.

GET
/api/tasks/search/?q={query}&company_id={id}
200 OK

Search Tasks

Search tasks by title, description, or tags.

POST
/tasks/subtasks/create/
200 OK

Create Subtask

Add a subtask to a parent task.

JSONRequest Body
1{
2 "parent": 250,
3 "taskName": "Setup JWT library",
4 "projectId": 10
5}
GET
/api/tasks/chat/{task_id}/
200 OK

Get Task Chat/Comments

Get all comments on a task.

POST
/api/task-chats/
200 OK

Add Task Comment

Post a comment on a task.

JSONRequest Body
1{
2 "taskId": 250,
3 "sender": 1311,
4 "ClientSender": null,
5 "message": "Great work @john!",
6 "mentionedEmails": ["[email protected]"](optional),
7 "reply_to": 4412 (optional),
8 "image": null
9}
POST
/api/task/{task_id}/attachments/
200 OK

Upload Task Attachment

Upload files to a task.

JSONRequest Body
1{
2 "file": "<file_data>",
3 "filename": "document.pdf"
4}