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
- Type: string Format: uuididrequired
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"
}
}