My notes
July 21, 2026 · View on GitHub
Available since Basecamp 5: a per-person notebook — a single rich-text note
that follows the user across devices. Each authenticated user has at most one
note; the API treats it as a singleton resource at /my/notes.json. Updates are
versioned: each save records a new revision behind the scenes while the API
always returns the current note.
Endpoints:
Get the note
GET /my/notes.jsonreturns the authenticated user's note. If the user has not yet written anything, the response shape is the same,contentis empty, andid,created_at, andupdated_atarenull— the note record is created on first update.
Example JSON Response
{
"id": 5,
"type": "Notebook::Note",
"created_at": "2026-07-21T00:02:30.308Z",
"updated_at": "2026-07-21T00:02:30.308Z",
"content": "<div dir=\"auto\">Things to remember…</div>",
"content_attachments": [],
"url": "https://3.basecampapi.com/195539477/my/notes.json",
"app_url": "https://3.basecamp.com/195539477/my/navigation/notes"
}
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" https://3.basecampapi.com/$ACCOUNT_ID/my/notes.json
Update the note
PUT /my/notes.jsonreplaces the note's content, recording a new revision. The first update also creates the underlying notebook if the user did not have one yet.
Permitted parameters
| Param | Type | Description |
|---|---|---|
content | HTML | The note's rich-text body. |
Example JSON Request
{
"note": {
"content": "<div>Things to remember…</div>"
}
}
Returns 200 OK with the updated note's JSON shape.
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"note":{"content":"<div>Things to remember…</div>"}}' -X PUT \
https://3.basecampapi.com/$ACCOUNT_ID/my/notes.json