Skip to the documentation
API

Notes

Every operation in this group: what it accepts, what it returns and the errors it can answer with.

Operations

Private notes pinned to a thread, the Notes panel of the reading pane.

Notes are private to a person. A key reads and writes the notes of the workspace owner, and an app those of the person who connected it. A key or an app limited to particular addresses reaches only the notes on threads that arrived at them.

GET/threads/{id}/notes

List the notes on a thread

Scopesthreads:readReads

Pinned notes first, then the rest in the order they were arranged. Notes are private to a person. A key reads and writes the notes of the workspace owner, and an app those of the person who connected it.

Requires the threads:read scope.

Path parameters

idstringRequired

The thread the notes are on, as GET /threads returns it.

Returns

Every note on the thread, in display order.

Errors

The errors every operation can return400401403404422500Error catalog

Also available in

SDK
threads.listNotes()
CLI
openemail threads list-notes
MCP
listThreadNotes

POST/threads/{id}/notes

Add a note to a thread

Scopesthreads:writeChanges data

A new note goes after the others. color is one of the eight the app offers, and pinned keeps it at the top. Notes are private to a person. A key reads and writes the notes of the workspace owner, and an app those of the person who connected it.

Requires the threads:write scope.

Path parameters

idstringRequired

The thread the notes are on, as GET /threads returns it.

Request body

contentstringRequired

The text of the note, up to 20,000 characters. Leading and trailing spaces are trimmed.

1 to 20000 characters
colorstring

One of the eight the app offers: default, red, orange, yellow, green, blue, purple or pink. Defaults to default.

One of"default""red""orange""yellow""green""blue""purple""pink"
pinnedboolean

Keeps the note above the others. Defaults to false.

Returns

The note.

Errors

The errors every operation can return400401403404422500Error catalog

Also available in

SDK
threads.createNote()
CLI
openemail threads create-note
MCP
addThreadNote

POST/threads/{id}/notes/reorder

Arrange the notes on a thread

Scopesthreads:writeChanges data

Sets the order of every note on the thread at once, first to last. Pinned notes still come first. ids has to name each note exactly once, or the call is a 422 invalid_parameter on ids and nothing moves.

Requires the threads:write scope.

Path parameters

idstringRequired

The thread the notes are on, as GET /threads returns it.

Request body

idsstring[]Required
1 to 200 items

Returns

The notes, in their new order.

Errors

The errors every operation can return400401403404422500Error catalog

Also available in

SDK
threads.reorderNotes()
CLI
openemail threads reorder-notes
MCP
reorderThreadNotes

PATCH/threads/{id}/notes/{noteId}

Change a note

Scopesthreads:writeChanges data

Changes its text, its colour or whether it is pinned. Give at least one. A note id that is not on this thread is a 404.

Requires the threads:write scope.

Path parameters

idstringRequired

The thread the notes are on, as GET /threads returns it.

noteIdstringRequired

The id of a note on that thread.

Request body

contentstring

The new text, up to 20,000 characters.

1 to 20000 characters
colorstring

The new colour.

One of"default""red""orange""yellow""green""blue""purple""pink"
pinnedboolean

Pins or unpins it.

Returns

The note as it is now.

Errors

The errors every operation can return400401403404422500Error catalog

Also available in

SDK
threads.updateNote()
CLI
openemail threads update-note
MCP
updateThreadNote

DELETE/threads/{id}/notes/{noteId}

Delete a note

Scopesthreads:writeDeletes

Gone for good. There is no bin for notes.

Requires the threads:write scope.

Path parameters

idstringRequired

The thread the notes are on, as GET /threads returns it.

noteIdstringRequired

The id of a note on that thread.

Returns

Errors

The errors every operation can return400401403404422500Error catalog

Also available in

SDK
threads.deleteNote()
CLI
openemail threads delete-note
MCP
deleteThreadNote

Objects

DeletedThreadNoteobject

objectstring
One of"note"
idstring
threadIdstring
deletedboolean
One oftrue

ThreadNoteobject

objectstringRequired
One of"note"
idstringRequired
threadIdstringRequired
contentstringRequired
Up to 20000 characters
colorstringRequired
One of"default""red""orange""yellow""green""blue""purple""pink"
pinnedbooleanRequired

Pinned notes are listed before the others.

orderintegerRequired

Where it sits among the notes that share its pinned state, lowest first.

createdAtstringRequired
Formatdate-time
updatedAtstringRequired
Formatdate-time

ThreadNoteListobject

objectstring
One of"list"