Documentation
Sign In

Notes

Markdown notes that can be attached to deals, contacts, companies, deliverables, and tasks. Notes support @-mentions in the app UI.

Required scopes:notes:readnotes:write

All endpoints require authentication with an API key via Authorization: Bearer anch_... — see Authentication. A :write scope implicitly includes its :read scope.

Quick example

curl "https://your-domain.com/api/notes?dealId=dl_123" \
  -H "Authorization: Bearer anch_your_api_key"

Endpoints

GET/api/notes
POST/api/notes
GET/api/notes/{id}
PATCH/api/notes/{id}
DELETE/api/notes/{id}

GET/api/notes

Query parameters

FieldTypeDescription
searchstringFull-text search across note bodies
dealIdstringFilter to notes on a specific deal
contactIdstringFilter to notes on a specific contact
companyIdstringFilter to notes on a specific company
deliverableIdstringFilter to notes on a specific deliverable
taskIdstringFilter to notes on a specific task
sortOrderstringasc or desc by createdAt (default: desc)
limitintegerPage size (default: 50)
offsetintegerPagination offset (default: 0)

Response (200)

{
  "data": [ { "id": "nt_...", "bodyMd": "Call recap: ...", ... } ],
  "meta": { "total": 33, "limit": 50, "offset": 0 }
}

POST/api/notes

Body fields

FieldTypeDescription
bodyMdrequiredstringNote body in Markdown
dealIdstringAttach to a deal
contactIdstringAttach to a contact
companyIdstringAttach to a company
deliverableIdstringAttach to a deliverable
taskIdstringAttach to a task

Response (201)

{ "id": "nt_V1StGXR8Z5jdHi6B" }

GET/api/notes/{id}

Response (200)

{
  "data": {
    "id": "nt_V1StGXR8Z5jdHi6B",
    "organizationId": "org_4f90...",
    "bodyMd": "Call recap: agreed on Q3 rollout.",
    "dealId": "dl_...",
    "contactId": null,
    "createdByUserId": "usr_...",
    "mentionedUserIds": "[]",
    "createdAt": 1736899200000
  }
}

PATCH/api/notes/{id}

PUT is also accepted. All fields are optional; only provided fields are updated.

Body fields

FieldTypeDescription
bodyMdstringNote body in Markdown
dealIdstringAttach to a deal
contactIdstringAttach to a contact
companyIdstringAttach to a company
deliverableIdstringAttach to a deliverable
taskIdstringAttach to a task

Response (200)

{ "ok": true }

DELETE/api/notes/{id}

Unlike most resources, notes are permanently deleted (hard delete).

Response (200)

{ "ok": true }

Notes

  • mentionedUserIds is returned as a JSON-encoded string array.
  • Note deletion is permanent — there is no soft-delete recovery window for notes.