Skip to content

Notes ​

Note endpoints create, retrieve, update, and delete notes placed on project boards.

Endpoints ​

Create note # POST/api/v1/{hash}/note

Request

http
POST /api/v1/{hash}/note
bash
curl --request POST \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data @payload.json \
  "https://arcweave.com/api/v1/PROJECT_HASH/note"
json
{
  "boardId": "b1",
  "x": 200,
  "y": 300,
  "content": "<p>Remember to revisit this scene.</p>"
}

Request fields:

PropertyRequiredTypeDescription
boardIdYesStringBoard that will contain the note.
xYesNumberHorizontal board coordinate.
yYesNumberVertical board coordinate.
contentNoString or nullNote content. Defaults to null.
themeNoStringOne of the color themes. Defaults to default.
autoHeightNoBooleanAutomatic-height setting. Defaults to true.
widthNoNumberNote width. Defaults to 301.
heightNoNumberNote height. Defaults to 101.
indexNoNon-negative integer or "-"Position within the board's note list. Defaults to "-", which appends the note.

boardId must identify a regular board, not a folder. The note must fit inside the 40000 by 40000 board canvas. width and height must each be between 0 and 40000; x must be between 0 and 40000 - width, and y must be between 0 and 40000 - height.

content accepts a string or null. Note content is not localized, so locale maps are rejected. Provide it as valid rich text HTML; notes do not support blockquotes or code blocks. The server generates the note ID.

Response

Returns 201 Created with the generated resource ID and project version data:

json
{
  "version": 12,
  "newVersion": 13,
  "versionTime": ["1720788000", "123456"],
  "id": "65139ea3-331f-4b25-88b4-ea7a65ff106c"
}

Get note # GET/api/v1/{hash}/note/{noteID}

Request

http
GET /api/v1/{hash}/note/{noteID}
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/note/{noteID}"

Response

Returns 200 OK.

json
{
  "id": "n1",
  "boardId": "b1",
  "x": 3100,
  "y": 2200,
  "width": 50,
  "height": 100,
  "theme": "cyan",
  "content": "<p>Testing note</p>"
}

Update note # PATCH/api/v1/{hash}/note/{noteID}

Request

http
PATCH /api/v1/{hash}/note/{noteID}
bash
curl --request PATCH \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data @payload.json \
  "https://arcweave.com/api/v1/PROJECT_HASH/note/{noteID}"
json
{
  "x": 240,
  "content": "<p>Updated note content</p>"
}

Request fields:

PropertyRequiredTypeDescription
contentNoString or nullUpdated HTML content. If omitted, the current value is retained.
themeNoStringOne of the color themes. Omit to keep the current theme.
autoHeightNoBooleanUpdated automatic-height setting. If omitted, the current value is retained.
xNoNumberUpdated horizontal coordinate. If omitted, the current value is retained.
yNoNumberUpdated vertical coordinate. If omitted, the current value is retained.
widthNoNumberUpdated width. If omitted, the current value is retained.
heightNoNumberUpdated height. If omitted, the current value is retained.

Supported fields are content, theme, autoHeight, x, y, width, and height.

Geometry updates must keep the complete note inside the 40000 by 40000 board canvas. The server uses the note's current geometry for fields omitted from the request.

The content rules for creating notes also apply to updates.

Response

Returns 200 OK with project version data:

json
{
  "version": 12,
  "newVersion": 13,
  "versionTime": ["1720788000", "123456"]
}

Delete note # DELETE/api/v1/{hash}/note/{noteID}

Request

http
DELETE /api/v1/{hash}/note/{noteID}
bash
curl --request DELETE \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/note/{noteID}"

Response

Returns 200 OK with project version data:

json
{
  "version": 12,
  "newVersion": 13,
  "versionTime": ["1720788000", "123456"]
}

Common errors ​

StatusMeaning
400Invalid payload, unsupported field, malformed content, invalid theme, or boardId identifies a folder.
403Project permission denied.
404Project or note not found when retrieving a note.
409The board or note does not exist when the command is applied.