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 in the board. Defaults to "-", which appends the note.

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. Provide it as valid Arcweave HTML content using <p> or <b> tags. 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.

Provide content as valid Arcweave HTML content using <p> or <b> tags.

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, or invalid theme.
403Project permission denied.
404Project, note, or board not found.
409The board or note changed before the command was applied.