Skip to content

Notes API

All endpoints require authentication. Permission checks are based on the resource type the note is attached to (e.g. notes on a deal require deals view permission). Person-specific notes have additional access scoping based on org hierarchy.

Notes can be attached to: person, candidate, deal, company, contact, scorecard, review, announcement, task, project, budget, invoice, proposal.

GET /api/notes/:resourceType/:resourceId

Permission: View permission on the corresponding tool

Returns all notes for a specific resource, ordered by creation date descending.

Path parameters:

ParamTypeDescription
resourceTypestringOne of the supported resource types
resourceIdstringResource ID

Response: { notes }

Each note includes id, resource_type, resource_id, author_id, content, visibility, mentions, parent_id, created_at, updated_at, author_name, and author_picture.

Person notes: Filtered by the requesting user’s access_level against the note’s visibility field. Access also requires org hierarchy checks (executives see all; heads see their subtree; managers see direct reports).

POST /api/notes/:resourceType/:resourceId

Permission: View permission on the corresponding tool

Path parameters:

ParamTypeDescription
resourceTypestringOne of the supported resource types
resourceIdstringResource ID

Request body:

FieldTypeDescription
contentstringNote content (required)
visibilitystring[]Access levels that can see this note (e.g. ["executive", "head", "manager"]). executive is always included automatically
mentionsstring[]User IDs to mention (triggers notifications)
parent_idstringParent note ID for threaded replies

Response: { id } (201)

Mentioned users receive a notification with a deep-link to the resource.

PUT /api/notes/:id

Permission: View permission on the corresponding tool. Only the author or executives can update.

Path parameters:

ParamTypeDescription
idstringNote ID

Request body:

FieldTypeDescription
contentstringUpdated content (required)
visibilitystring[]Updated visibility levels

Response: { ok: true }

DELETE /api/notes/:id

Permission: View permission on the corresponding tool. Only the author or users with manage permission can delete.

Path parameters:

ParamTypeDescription
idstringNote ID

Response: { ok: true }