Skip to content

Get Project

This endpoint returns one project by ID.

GET /v1/projects/projects/:id

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

projects:read
ParameterTypeRequiredDescription
idstringYesProject ID.

This endpoint does not accept a request body.

Terminal window
curl "https://api.crewsum.com/v1/projects/projects/project-mno123pqr4567890" \
-H "x-api-key: $CREWSUM_API_KEY"

On success, the API returns HTTP 200 OK.

{
"message": "Successfully fetched project: project-mno123pqr4567890",
"data": {
"id": "project-mno123pqr4567890",
"name": "Project Name",
"description": "A brief description of the project",
"endCustomerId": "endcustomer-abc123def4567890",
"endCustomerName": "End Customer Name",
"endCustomerDeleted": false,
"endCustomerArchived": false,
"isArchived": false,
"createdAt": "2026-01-05T15:30:00.000Z",
"updatedAt": "2026-01-12T09:15:00.000Z",
"clientId": "client-ghi123jkl4567890",
"clientName": "Client Name",
"isDeleted": false,
"clientDeleted": false,
"clientArchived": false,
"billingCategory": "BILLABLE",
"completed": false,
"autoAssign": true,
"associations": [
{
"contactId": "contact-jkl123mno4567890",
"contactName": "Contact Name",
"contactEmail": "placeholder@example.com",
"contactType": "MANAGER",
"notificationLevel": "COPY_ONLY"
}
],
"customFields": {
"department": "Operations"
},
"clientCustomFields": {},
"submittedHours": 40
}
}
  • Deleted projects are still returned, with isDeleted: true.
  • billingCategory is null when no billing category is assigned.
  • endCustomerId, endCustomerName, endCustomerDeleted, and endCustomerArchived are null when the project has no end customer.
  • associations lists the project’s active contact associations. See Associations.
  • clientCustomFields contains the parent client’s custom fields. This field is returned only by this endpoint, not by List Projects.
  • submittedHours is the total of hours on approved timecards for the project.
  • hoursBudget is included only when the project has an hours budget.
  • updatedAt is null until the project is first updated.
StatusMeaning
400The project ID was missing from the route.
404No project was found for the supplied ID. The message is Project not found: <id>.

Authentication and scope failures are described in Errors.

This endpoint does not trigger a webhook.