Notes
Notes let you attach free-text annotations to contacts for context, follow-ups, and team collaboration.
List Notes
GET /contacts/{contact_id}/notes
Returns all notes on a contact, sorted by most recent first.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
contact_id | string | Contact ID |
Example
curl "https://be.graph8.com/api/v1/contacts/12345/notes" \ -H "Authorization: Bearer $API_KEY"response = requests.get( f"{BASE_URL}/contacts/12345/notes", headers=HEADERS)notes = response.json()const response = await fetch(`${BASE_URL}/contacts/12345/notes`, { headers: { Authorization: `Bearer ${API_KEY}` }});const notes = await response.json();Response
{ "data": [ { "id": "note-abc", "content": "Spoke with Jane about the Q2 renewal.", "entity_type": "contact", "entity_id": "12345", "created_by": "user@company.com", "created_at": "2026-02-25T14:30:00Z", "updated_at": "2026-02-25T14:30:00Z" } ]}Create Note
POST /contacts/{contact_id}/notes
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | Note text content |
Example
curl -X POST "https://be.graph8.com/api/v1/contacts/12345/notes" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"content": "Follow up next week about pricing."}'response = requests.post( f"{BASE_URL}/contacts/12345/notes", headers=HEADERS, json={"content": "Follow up next week about pricing."})Update Note
PATCH /notes/{note_id}
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | Updated note text |
Delete Note
DELETE /notes/{note_id}
Returns 204 No Content on success.