Notes

Create and retrieve notes attached to leads, accounts, opportunities, or contacts.

GET/notes/{entity_type}/{entity_id}

List all notes for a specific entity.

Path Parameters

entity_type(string)

One of: lead, account, opportunity, contact

entity_id(uuid)

ID of the entity

Request
curl -X GET "https://kashew.ai/api/v1/notes/lead/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: Bearer kshw_xxxxxxxx_xxxxx..."
200Response
{
  "notes": [
    {
      "id": "note-uuid",
      "entity_type": "lead",
      "entity_id": "a1b2c3d4-...",
      "title": "Meeting Notes",
      "body_json": { "type": "doc", "content": [...] },
      "visibility": "private",
      "created_at": "2026-05-28T10:00:00Z"
    }
  ],
  "count": 1
}
POST/notes/{entity_type}/{entity_id}

Create a note on an entity.

Path Parameters

entity_type(string)

One of: lead, account, opportunity, contact

entity_id(uuid)

ID of the entity

Request Body

title(string)

Note title (optional)

body_json(object)

Rich text content in TipTap/ProseMirror JSON format (required)

visibility(string)

private or team (default: private)

Request
curl -X POST "https://kashew.ai/api/v1/notes/lead/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: Bearer kshw_xxxxxxxx_xxxxx..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Meeting Notes",
    "body_json": {
      "type": "doc",
      "content": [
        {
          "type": "paragraph",
          "content": [
            { "type": "text", "text": "Client interested in premium plan." }
          ]
        }
      ]
    },
    "visibility": "private"
  }'
201Response
{ "id": "note-uuid", "status": "created" }