Skip to main content

Project Notes

GET /public/action/projects/notes/search

Read and manage the existing private workspace notes attached to a project. These are the same notes shown in the project's Notes panel. Notes have no separate title; the body is named entry throughout the API.

Authentication: X-API-KEY header (see Authentication). The same operations are available under /zapier/action/projects/notes/. API keys act as the workspace owner, so these endpoints can read and edit private project notes. They do not provide client-portal access.

Search and read​

projectId is required and must belong to the API key's workspace. Optional id returns only that note within the project. Results are newest first; no matches returns []. Both active and inactive projects are accepted.

curl --get "https://api.withmoxie.com/public/action/projects/notes/search" \
-H "X-API-KEY: your_api_key_here" \
--data-urlencode "projectId=project-id"

The response contains only these note fields:

FieldMeaning
idNote id for subsequent updates or deletion.
projectIdOwning project.
entryBody text in the specified format.
formatMarkdown or HTML. Plain text can be submitted as Markdown; line breaks are preserved.
authorOriginal author's display name, assigned by the server.
lastEditedByLast editor's display name, or null before the first edit.
timestampCreation timestamp (ISO 8601).
timestampUpdatedLast edit timestamp (ISO 8601), or null before the first edit.

No account internals, client/contact expansion, or unrelated project data is returned. Treat entry as authored content; sanitize it before rendering as HTML in an external application.

Create​

POST /public/action/projects/notes/create accepts projectId, a non-blank entry, and optional format (defaults to Markdown). The server derives client ownership and records the API key's workspace owner as the author.

curl -X POST "https://api.withmoxie.com/public/action/projects/notes/create" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"projectId":"project-id","entry":"## Meeting summary\n\nApproved the revised scope.","format":"Markdown"}'

Returns the created note, including its generated id and creation timestamp. No author, timestamp, client, or account overrides are accepted.

Update​

PATCH /public/action/projects/notes/update requires the note id and a non-blank replacement entry. Omitted format retains its current value. To change format, submit both the rewritten body and its new format.

curl -X PATCH "https://api.withmoxie.com/public/action/projects/notes/update" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"id":"note-id","entry":"Updated meeting summary."}'

Returns the updated note. Original authorship, creation time, and project/client ownership are preserved; the server sets timestampUpdated and lastEditedBy. This is a body replacement, not an append operation. Concurrent edits are not version-checked.

Delete​

DELETE /public/action/projects/notes/delete requires the note id as a query parameter:

curl -X DELETE "https://api.withmoxie.com/public/action/projects/notes/delete?id=note-id" \
-H "X-API-KEY: your_api_key_here"

Returns true. Deletion uses the existing workspace Trash lifecycle, allowing recovery through workspace Trash. Client-only notes cannot be read, updated, or deleted through these project-note endpoints.

Errors​

StatusMeaning
400 Bad RequestMissing required query parameter/body or invalid format.
412 Precondition FailedBlank project/note id or blank/missing entry.
404 Not FoundProject or note is outside this workspace, absent, or the id refers to a client-only note. An unmatched search id returns [].

All operations use the existing public API quota. Read-only search does not modify notes; create/update preserve the shared note service's formatting, embedded-image handling, and metadata rules.