Skip to content

Get Task

This endpoint returns one task by ID.

GET /v1/tasks/tasks/:id

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

tasks:read
ParameterTypeRequiredDescription
idstringYesTask ID.

This endpoint does not accept a request body.

Terminal window
curl "https://api.crewsum.com/v1/tasks/tasks/task-pqr123stu4567890" \
-H "x-api-key: $CREWSUM_API_KEY"

On success, the API returns HTTP 200 OK.

{
"message": "Successfully fetched task: task-pqr123stu4567890",
"data": {
"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",
"submittedHours": 16
}
}
  • Deleted tasks are still returned, with isDeleted: true.
  • billingCategory is the parent project’s category when the project has one. Otherwise it is the task’s own category, which can be null.
  • isDefault is true for the default task that Crewsum creates with each project.
  • projectEndCustomer is the name of the project’s end customer, or null.
  • submittedHours is the total of hours on approved timecards for the task.
  • hoursBudget is included only when the task has an hours budget.
  • updatedAt is null until the task is first updated.
  • clientDeleted and projectDeleted are currently always false, even when the client or project is deleted. To check the parent’s state, call Get Project.
StatusMeaning
400The task ID was missing from the route.
500Crewsum could not fetch the task, including when no task exists for the ID. The message is Error fetching task: <id>.

Authentication and scope failures are described in Errors.

This endpoint does not trigger a webhook.