Retrieve a note

Retrieves one note. Unlike the list endpoint, this returns the body: content_html is the note in the HTML the Bonsai editor renders, scrubbed of script-execution vectors, and the field to send back to PATCH /public-api/v1/notes/{id} when editing it. content_plain_text is the same body with the markup removed, for when you only need to read what it says.

note_links leaves out any record the token cannot reach, so a note can come back with an empty note_links even though somebody else can see what it is about.

Anyone can read a note they wrote; reading someone else's needs permission to read notes. A note the token cannot see returns 404, and one it can see but may not read returns 403.

Path Parameters
  • id
    Type: string Format: uuid
    required

    The note's id.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/public-api/v1/notes/{id}
curl https://app.hellobonsai.com/public-api/v1/notes/123e4567-e89b-12d3-a456-426614174000 \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": {
    "id": "3f1c9b64-0c2d-4d19-9d4e-6c9a1f7b2f11",
    "title": "Kickoff call",
    "date": "2026-05-01",
    "visibility": "everyone",
    "created_by_member_id": 314,
    "created_at": "2026-04-14T09:12:04.000Z",
    "updated_at": "2026-04-14T09:12:04.000Z",
    "note_links": [
      {
        "id": 907,
        "record_id": 42,
        "record_type": "company"
      }
    ],
    "content_html": "<h2>Renewal call</h2><p>Agreed to send a <strong>revised quote</strong>.</p>",
    "content_plain_text": "Discussed the renewal and agreed to send a revised quote."
  },
  "meta": {
    "request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e"
  }
}