Download OpenAPI specification:
Project and Task Management API built with Go, Fiber, and GORM
Get list of projects with optional filtering and pagination
| page | integer Default: 1 Page number |
| limit | integer Default: 10 Items per page |
| search | string Search in name/description |
| sortBy | string Field to sort by |
| sortOrder | string Enum: "asc" "desc" Sort order (asc/desc) |
| status | string Filter by project status |
| customerId | string Filter by customer ID |
{- "data": null,
- "meta": {
- "limit": 0,
- "page": 0,
- "total": 0,
- "totalPages": 0
}
}Create a new project with products, participants, and documents
Create Project Request
| contractValue required | integer >= 0 |
| currency | string |
| customerId required | string |
| description | string |
| documentFileIds | Array of strings |
| name required | string |
| participantIds | Array of strings |
Array of objects (ms-project_internal_dto.CreateProductRequest) | |
| replyDate required | string |
{- "contractValue": 0,
- "currency": "string",
- "customerId": "string",
- "description": "string",
- "documentFileIds": [
- "string"
], - "name": "string",
- "participantIds": [
- "string"
], - "products": [
- {
- "attributes": { },
- "description": "string",
- "name": "string",
- "productType": "string",
- "status": "string"
}
], - "replyDate": "string"
}{- "property1": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}, - "property2": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}
}Get detailed information of a specific project by its unique code
| uniqueCode required | string Project unique code (e.g., PRJ-2024-001) |
{- "property1": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}, - "property2": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}
}Update an existing project's information
| uniqueCode required | string Project unique code |
Update Project Request
| contractValue | integer >= 0 |
| currency | string |
| description | string |
| documentFileIds | Array of strings |
| name | string |
| participantIds | Array of strings |
| progress | string (ms-project_internal_enums.ProjectProgress) Enum: "technical_negotiating" "bidding" "waiting_for_contract" "contract_negotiating" "production_planning" "in_production" "delivering" |
| replyDate | string |
| status | string (ms-project_internal_enums.ProjectStatus) Enum: "pending" "order_placed" "canceled" "delivered" "awaiting_payment" "completed" "need_update" "approved" |
{- "contractValue": 0,
- "currency": "string",
- "description": "string",
- "documentFileIds": [
- "string"
], - "name": "string",
- "participantIds": [
- "string"
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending"
}{- "property1": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}, - "property2": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}
}Change project status to approved
| uniqueCode required | string Project unique code |
{- "property1": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}, - "property2": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}
}Get count of various resources associated with a project
| uniqueCode required | string Project unique code |
| resourceTypes | Array of strings Resource types to count |
{- "property1": [
- {
- "count": 0,
- "status": "string",
- "type": "string"
}
], - "property2": [
- {
- "count": 0,
- "status": "string",
- "type": "string"
}
]
}Get total expenses and breakdown for a project
| uniqueCode required | string Project unique code |
{- "property1": {
- "breakdown": {
- "labor": 0,
- "materials": 0,
- "other": 0
}, - "currency": "string",
- "totalExpenses": 0
}, - "property2": {
- "breakdown": {
- "labor": 0,
- "materials": 0,
- "other": 0
}, - "currency": "string",
- "totalExpenses": 0
}
}Update the progress status of a project
| uniqueCode required | string Project unique code |
Progress Update Request
| progress required | string (ms-project_internal_enums.ProjectProgress) Enum: "technical_negotiating" "bidding" "waiting_for_contract" "contract_negotiating" "production_planning" "in_production" "delivering" |
{- "progress": "technical_negotiating"
}{- "property1": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}, - "property2": {
- "contractValue": 0,
- "createdAt": "string",
- "creator": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "creatorId": "string",
- "currency": "string",
- "customer": {
- "id": "string",
- "name": "string"
}, - "customerId": "string",
- "deletedAt": "string",
- "description": "string",
- "documentFiles": [
- {
- "id": "string",
- "mimeType": "string",
- "name": "string",
- "path": "string",
- "size": 0
}
], - "id": "string",
- "name": "string",
- "participants": [
- {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "attributes": { },
- "createdAt": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "productType": "string",
- "schemaVersion": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "progress": "technical_negotiating",
- "replyDate": "string",
- "status": "pending",
- "uniqueCode": "string",
- "updatedAt": "string"
}
}Create a new task with participants, tags, and attachments
Create Task Request
| departmentId required | string |
| description | string |
| endDate required | string |
| fileId | string |
| name required | string |
| parentId | string |
| participantIds | Array of strings |
| priority required | string (ms-project_internal_enums.Priority) Enum: "low" "medium" "high" "urgent" |
| projectUniqueCode required | string |
| status required | string |
| tags | Array of strings |
{- "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "name": "string",
- "parentId": "string",
- "participantIds": [
- "string"
], - "priority": "low",
- "projectUniqueCode": "string",
- "status": "string",
- "tags": [
- "string"
]
}{- "property1": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}, - "property2": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}
}Get all tasks assigned to the authenticated user
| page | integer Default: 1 Page number |
| limit | integer Default: 10 Items per page |
| search | string Search in name/description |
| status | string Filter by task status |
| priority | string Filter by priority |
{- "data": null,
- "meta": {
- "limit": 0,
- "page": 0,
- "total": 0,
- "totalPages": 0
}
}Get tasks with nested comments and activities for a project
| projectId required | string Project ID |
| page | integer Default: 1 Page number |
| limit | integer Default: 10 Items per page |
| includeComments | boolean Include task comments |
| includeActivities | boolean Include task activities |
{- "data": null,
- "meta": {
- "limit": 0,
- "page": 0,
- "total": 0,
- "totalPages": 0
}
}Get available filter options with counts for faceted search
| projectId required | string Project ID |
| filters[status] | string Filter by status (comma-separated) |
| filters[priority] | string Filter by priority (comma-separated) |
| filters[departmentId] | string Filter by department (comma-separated) |
| filters[tags] | string Filter by tags (comma-separated) |
| searches[name] | string Search in name |
{- "property1": {
- "departments": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "participants": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "priorities": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "statuses": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "tags": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
]
}, - "property2": {
- "departments": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "participants": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "priorities": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "statuses": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
], - "tags": [
- {
- "count": 0,
- "label": "string",
- "value": "string"
}
]
}
}Get task statistics by status, priority, and department
| projectId required | string Project ID |
{- "property1": {
- "byDepartment": {
- "property1": 0,
- "property2": 0
}, - "byPriority": {
- "property1": 0,
- "property2": 0
}, - "byStatus": {
- "property1": 0,
- "property2": 0
}, - "total": 0
}, - "property2": {
- "byDepartment": {
- "property1": 0,
- "property2": 0
}, - "byPriority": {
- "property1": 0,
- "property2": 0
}, - "byStatus": {
- "property1": 0,
- "property2": 0
}, - "total": 0
}
}Get paginated list of tasks for a specific project
| projectId required | string Project ID |
| page | integer Default: 1 Page number |
| limit | integer Default: 10 Items per page |
| search | string Search in name/description |
| sortBy | string Field to sort by |
| sortOrder | string Enum: "asc" "desc" Sort order (asc/desc) |
| status | string Filter by task status |
| priority | string Filter by priority |
| departmentId | string Filter by department |
{- "data": null,
- "meta": {
- "limit": 0,
- "page": 0,
- "total": 0,
- "totalPages": 0
}
}Get detailed information of a specific task by its unique code
| unique_code required | string Task unique code (e.g., TSK-2024-001) |
{- "property1": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}, - "property2": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}
}Update an existing task's information
| unique_code required | string Task unique code |
Update Task Request
| departmentId | string |
| description | string |
| endDate | string |
| name | string |
| parentId | string Pointer to allow null/empty distinction |
| participantIds | Array of strings |
| priority | string (ms-project_internal_enums.Priority) Enum: "low" "medium" "high" "urgent" |
| status | string |
| tags | Array of strings |
{- "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "name": "string",
- "parentId": "string",
- "participantIds": [
- "string"
], - "priority": "low",
- "status": "string",
- "tags": [
- "string"
]
}{- "property1": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}, - "property2": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}
}Soft delete a task by unique code
| unique_code required | string Task unique code |
{- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}Get activity history for a specific task
| unique_code required | string Task unique code |
{- "property1": [
- {
- "comment": {
- "actor": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "actorId": "string",
- "attachments": [
- {
- "fileId": "string",
- "id": "string"
}
], - "content": "string",
- "createdAt": "string",
- "dislikes": 0,
- "id": "string",
- "isDeleted": true,
- "likes": 0,
- "parentId": "string",
- "taskId": "string",
- "userReaction": "string"
}, - "createdAt": "string",
- "history": {
- "actor": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "actorId": "string",
- "changedAt": "string",
- "from": { },
- "id": "string",
- "to": { },
- "type": "string"
}, - "id": "string",
- "taskId": "string",
- "updatedAt": "string"
}
], - "property2": [
- {
- "comment": {
- "actor": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "actorId": "string",
- "attachments": [
- {
- "fileId": "string",
- "id": "string"
}
], - "content": "string",
- "createdAt": "string",
- "dislikes": 0,
- "id": "string",
- "isDeleted": true,
- "likes": 0,
- "parentId": "string",
- "taskId": "string",
- "userReaction": "string"
}, - "createdAt": "string",
- "history": {
- "actor": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "actorId": "string",
- "changedAt": "string",
- "from": { },
- "id": "string",
- "to": { },
- "type": "string"
}, - "id": "string",
- "taskId": "string",
- "updatedAt": "string"
}
]
}Get paginated list of comments for a specific task
| unique_code required | string Task unique code |
| page | integer Default: 1 Page number |
| limit | integer Default: 10 Items per page |
| sortBy | string Field to sort by |
| sortOrder | string Enum: "asc" "desc" Sort order (asc/desc) |
{- "data": null,
- "meta": {
- "limit": 0,
- "page": 0,
- "total": 0,
- "totalPages": 0
}
}Add a new comment to a specific task
| unique_code required | string Task unique code |
Comment Request
| attachmentIds | Array of strings |
| content required | string |
| parentId | string |
{- "attachmentIds": [
- "string"
], - "content": "string",
- "parentId": "string"
}{- "property1": {
- "actor": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "actorId": "string",
- "attachments": [
- {
- "fileId": "string",
- "id": "string"
}
], - "content": "string",
- "createdAt": "string",
- "dislikes": 0,
- "id": "string",
- "isDeleted": true,
- "likes": 0,
- "parentId": "string",
- "taskId": "string",
- "userReaction": "string"
}, - "property2": {
- "actor": {
- "avatarFileId": "string",
- "code": "string",
- "department": "string",
- "email": "string",
- "id": "string",
- "name": "string"
}, - "actorId": "string",
- "attachments": [
- {
- "fileId": "string",
- "id": "string"
}
], - "content": "string",
- "createdAt": "string",
- "dislikes": 0,
- "id": "string",
- "isDeleted": true,
- "likes": 0,
- "parentId": "string",
- "taskId": "string",
- "userReaction": "string"
}
}Toggle like or dislike reaction on a task comment
| unique_code required | string Task unique code |
Like/Dislike Request
| commentId required | string |
| type required | string (ms-project_internal_enums.TaskCommentReaction) Enum: "like" "dislike" |
{- "commentId": "string",
- "type": "like"
}{- "commentId": "string",
- "dislikes": 0,
- "likes": 0,
- "userReaction": "string"
}Delete a specific comment from a task
| unique_code required | string Task unique code |
| commentId required | string Comment ID |
{- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}Update the status of a specific task
| unique_code required | string Task unique code |
Status Update Request
| status required | string |
{- "status": "string"
}{- "property1": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}, - "property2": {
- "createdAt": "string",
- "deletedAt": "string",
- "department": {
- "code": "string",
- "id": "string",
- "name": "string"
}, - "departmentId": "string",
- "description": "string",
- "endDate": "string",
- "fileId": "string",
- "id": "string",
- "name": "string",
- "parent_id": "string",
- "participants": [
- {
- "email": "string",
- "employeeId": "string",
- "id": "string",
- "name": "string"
}
], - "priority": "low",
- "projectId": "string",
- "project_code": "string",
- "project_id": "string",
- "status": "string",
- "tags": [
- "string"
], - "unique_code": "string",
- "updatedAt": "string"
}
}