Get Contact
This endpoint returns one contact by ID.
Endpoint
Section titled “Endpoint”GET /v1/contacts/contacts/:idAuthentication
Section titled “Authentication”Include your API key in the x-api-key header. See Authentication.
Required Scope
Section titled “Required Scope”contacts:readPath Parameters
Section titled “Path Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Contact 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/contacts/contacts/contact-jkl123mno4567890" \ -H "x-api-key: $CREWSUM_API_KEY"const response = await fetch( "https://api.crewsum.com/v1/contacts/contacts/contact-jkl123mno4567890", { headers: { "x-api-key": process.env.CREWSUM_API_KEY } },);const result = await response.json();GET /v1/contacts/contacts/contact-jkl123mno4567890 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 contact: contact-jkl123mno4567890", "data": { "email": "placeholder@example.com", "type": "EXTERNAL", "userId": null, "hasPortalAccess": true, "id": "contact-jkl123mno4567890", "name": "Contact Name", "description": "A brief description of the contact", "isArchived": false, "createdAt": "2026-01-05T15:30:00.000Z", "updatedAt": "2026-02-10T09:12:00.000Z", "clientId": "client-ghi123jkl4567890", "clientName": "Client Name", "isDeleted": false, "clientDeleted": false, "clientArchived": false, "associations": [ { "projectId": "project-abc123def4567890", "projectName": "Project Name", "endCustomer": "End Customer Name", "contactType": "MANAGER", "notificationLevel": "COPY_ONLY" } ], "supplierAssociations": [ { "supplierId": "supplier-abc123def4567890", "supplierName": "Supplier Name" } ] }}Behavior
Section titled “Behavior”- The endpoint returns one contact object in
data. - Deleted contacts are still returned, with
isDeleted: true. emailis always a string. External contacts return the stored contact email. Internal contacts return the linked user’s email. It is an empty string when neither exists.userIdisnullfor external contacts. For internal contacts it is the internal<tenantId>#<userId>form, for exampleacme#user-a.- Contacts without a client return
nullforclientId,clientName,clientArchived, andclientDeleted. associationslists the contact’s active project associations.endCustomeris the project’s end customer name, ornull.supplierAssociationslists the suppliers the contact is linked to.updatedAtisnullfor contacts that were never updated.
Error Responses
Section titled “Error Responses”| Status | Meaning |
|---|---|
400 | {"message": "ContactID missing"}. The ID path segment is empty. |
404 | {"message": "Contact not found: <id>"}. No contact with this ID exists in your account. |
Authentication and scope failures are described in Errors.
Related Webhooks
Section titled “Related Webhooks”This endpoint does not trigger a webhook.