Get Task
This endpoint returns one task by ID.
Endpoint
Section titled “Endpoint”GET /v1/tasks/tasks/:idAuthentication
Section titled “Authentication”Include your API key in the x-api-key header. See Authentication.
Required Scope
Section titled “Required Scope”tasks:readPath Parameters
Section titled “Path Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Task ID. |
Request Body
Section titled “Request Body”This endpoint does not accept a request body.
Example Request
Section titled “Example Request”curl "https://api.crewsum.com/v1/tasks/tasks/task-pqr123stu4567890" \ -H "x-api-key: $CREWSUM_API_KEY"const response = await fetch( "https://api.crewsum.com/v1/tasks/tasks/task-pqr123stu4567890", { headers: { "x-api-key": process.env.CREWSUM_API_KEY }, },);const result = await response.json();GET /v1/tasks/tasks/task-pqr123stu4567890 HTTP/1.1Host: api.crewsum.comx-api-key: <your-api-key>Response
Section titled “Response”On success, the API returns HTTP 200 OK.
Example Response
Section titled “Example Response”{ "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 }}Behavior
Section titled “Behavior”- Deleted tasks are still returned, with
isDeleted: true. billingCategoryis the parent project’s category when the project has one. Otherwise it is the task’s own category, which can benull.isDefaultistruefor the default task that Crewsum creates with each project.projectEndCustomeris the name of the project’s end customer, ornull.submittedHoursis the total of hours on approved timecards for the task.hoursBudgetis included only when the task has an hours budget.updatedAtisnulluntil the task is first updated.clientDeletedandprojectDeletedare currently alwaysfalse, even when the client or project is deleted. To check the parent’s state, call Get Project.
Error Responses
Section titled “Error Responses”| Status | Meaning |
|---|---|
400 | The task ID was missing from the route. |
500 | Crewsum 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.
Related Webhooks
Section titled “Related Webhooks”This endpoint does not trigger a webhook.