Get Project
This endpoint returns one project by ID.
Endpoint
Section titled “Endpoint”GET /v1/projects/projects/:idAuthentication
Section titled “Authentication”Include your API key in the x-api-key header. See Authentication.
Required Scope
Section titled “Required Scope”projects:readPath Parameters
Section titled “Path Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Project 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/projects/projects/project-mno123pqr4567890" \ -H "x-api-key: $CREWSUM_API_KEY"const response = await fetch( "https://api.crewsum.com/v1/projects/projects/project-mno123pqr4567890", { headers: { "x-api-key": process.env.CREWSUM_API_KEY }, },);const result = await response.json();GET /v1/projects/projects/project-mno123pqr4567890 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 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 }}Behavior
Section titled “Behavior”- Deleted projects are still returned, with
isDeleted: true. billingCategoryisnullwhen no billing category is assigned.endCustomerId,endCustomerName,endCustomerDeleted, andendCustomerArchivedarenullwhen the project has no end customer.associationslists the project’s active contact associations. See Associations.clientCustomFieldscontains the parent client’s custom fields. This field is returned only by this endpoint, not by List Projects.submittedHoursis the total of hours on approved timecards for the project.hoursBudgetis included only when the project has an hours budget.updatedAtisnulluntil the project is first updated.
Error Responses
Section titled “Error Responses”| Status | Meaning |
|---|---|
400 | The project ID was missing from the route. |
404 | No project was found for the supplied ID. The message is Project not found: <id>. |
Authentication and scope failures are described in Errors.
Related Webhooks
Section titled “Related Webhooks”This endpoint does not trigger a webhook.