Skip to content

List Tasks

This endpoint returns a page of tasks for the authenticated account.

GET /v1/tasks/tasks

Include your API key in the x-api-key header. See Authentication.

tasks:read
ParameterTypeRequiredDescription
clientIdstringNoReturn only tasks for this client.
projectIdstringNoReturn only tasks for this project.
billingCategory"billable" | "non-billable" | "not-assigned"NoFilter by the task’s billing category. The values are lowercase. not-assigned matches tasks with a null category. Any other value applies no filter.
archivedstringNo"true" returns only archived tasks. Any other value, or no value, returns only non-archived tasks.
allstringNo"true" returns all tasks, including archived and deleted tasks, and ignores archived.
pagestringNo0-based page index. Defaults to 0.
pageSizestringNoNumber of items per page. Defaults to 25.
sortColstringNoSort column. One of taskName, taskDescription, createdAt, updatedAt, Client.client_name, Project.project_name, Project.EndCustomer.name.
sortDirstringNoSort direction: asc or desc (not case-sensitive).

The API uses sortCol and sortDir only when both are present and valid. Otherwise it ignores them without an error and sorts by updatedAt then createdAt, newest first. See Pagination for paging and sorting rules.

This endpoint does not accept a request body.

Terminal window
curl "https://api.crewsum.com/v1/tasks/tasks?projectId=project-mno123pqr4567890&page=0&pageSize=25" \
-H "x-api-key: $CREWSUM_API_KEY"

On success, the API returns HTTP 200 OK.

{
"message": "Successfully fetched tasks",
"data": {
"tasks": [
{
"id": "task-pqr123stu4567890",
"name": "Task Name",
"description": "A brief description of the task",
"isArchived": false,
"createdAt": "2026-01-05T15:45:00.000Z",
"updatedAt": null,
"clientId": "client-ghi123jkl4567890",
"projectId": "project-mno123pqr4567890",
"clientName": "Client Name",
"projectName": "Project Name",
"isDeleted": false,
"clientDeleted": false,
"projectDeleted": false,
"isDefault": false,
"autoAssign": true,
"projectEndCustomer": "End Customer Name",
"billingCategory": "BILLABLE",
"isAvailableForNewSelection": true,
"submittedHours": 16
}
],
"count": 1
}
}
  • count is the total number of matching tasks across all pages.
  • Deleted tasks are returned only when all is "true".
  • List items have the same fields as Get Task, plus isAvailableForNewSelection.
  • isAvailableForNewSelection is true when the task can be used for new assignments or time entries. A task is available when it is not archived or deleted. A project’s default task is available only while the project has no active non-default tasks.
  • billingCategory is the parent project’s category when the project has one. The billingCategory filter uses the category stored on the task.
  • clientDeleted and projectDeleted are currently always false.
StatusMeaning
500Crewsum could not fetch tasks. The message is Error fetching tasks.

Authentication and scope failures are described in Errors.

This endpoint does not trigger a webhook.