Skip to content

Add a note

POST
/api/projects/{project}/notes
curl --request POST \
--url https://app.nurseshark.org/api/projects/example/notes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "body": "example" }'

Adds a dated note to a project’s log. Notes are plain text: Markdown and HTML are shown as written. A project keeps at most 25 notes, and adding one fails with 422 once it has that many, until old ones are deleted on the website.

Same as the add_note MCP tool.

project
required
string
<= 200 characters

Name, slug or UUID of the project.

Media typeapplication/json
object
body
required
string
>= 1 characters <= 2048 characters

Example generated

{
"body": "example"
}

Created

Media typeapplication/json
object
project
required

The project’s slug.

string
note
required
object
body
required
string
created_at
required
string format: date-time

Example generated

{
"project": "example",
"note": {
"body": "example",
"created_at": "2026-04-15T12:00:00Z"
}
}

A required parameter is missing.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

The token is missing, invalid or expired.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

No project with that name, slug or UUID belongs to this account.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

The request was understood but can’t be done, for example a value over its limit or a name already in use. error says what to change.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

Over the rate limit. Try again in a minute.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}