Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/contacts/ | List contacts |
POST | /api/contacts/ | Create a contact |
GET | /api/contacts/{id}/ | Get a contact |
PATCH | /api/contacts/{id}/ | Update a contact |
DELETE | /api/contacts/{id}/ | Delete a contact |
List Contacts
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (default: 1) |
limit | integer | Results per page (default: 20, max: 100) |
stage | string | Filter by stage (e.g., engaged, customer) |
assignedTo | string | Filter by assigned user ID |
search | string | Search by name, email, or phone |
createdAfter | ISO8601 | Filter contacts created after this date |
createdBefore | ISO8601 | Filter contacts created before this date |
tags | string | Comma-separated tag names to filter by |
Create a Contact
firstName or lastName (at least one), email
Response: 201 Created with the full contact object.
Get a Contact
Update a Contact
UsePATCH to update specific fields without affecting the rest.
200 OK with the updated contact object.
Delete a Contact
204 No Content
Deleting a contact removes the record and all associated notes and tasks. Activities logged on the contact’s timeline are retained in the audit log but no longer accessible through the contact record.
Contact Stage Values
| Value | Label |
|---|---|
new | New |
contacted | Contacted |
engaged | Engaged |
proposal_sent | Proposal Sent |
negotiation | Negotiation |
customer | Customer |
inactive | Inactive |
