Skip to content

The Notes Collaboration API manages user access and engagement on notebook nodes. Use these endpoints to list and modify collaborators (with per-node roles), add and remove emoji reactions, and invite users to a notebook or change their notebook-wide role.

Manage per-node collaborators and their roles. Node-level collaborator management requires admin permission on the target node.

GET /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators

Section titled “GET /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators”

Returns all collaborators on a node with their roles and user info.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node whose collaborators should be listed
Terminal window
curl -X GET "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/collaborators" \
-H "Authorization: Bearer <token>"

POST /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators

Section titled “POST /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators”

Adds a user as a collaborator on a node with a specified role. Requires admin permission.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node to add the collaborator to
FieldTypeRequiredDescription
collaboratorIdstringYesThe user ID to add as a collaborator
rolestringYesThe role to assign. One of: admin, editor, collaborator, viewer
Terminal window
curl -X POST "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/collaborators" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"collaboratorId": "user_5b9d2a14",
"role": "editor"
}'

PATCH /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators/{collaboratorId}

Section titled “PATCH /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators/{collaboratorId}”

Changes the role of an existing collaborator. Requires admin permission.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node whose collaborator is being updated
collaboratorIdpathstringYesThe collaborator user ID to update
FieldTypeRequiredDescription
rolestringYesThe new role to assign. One of: admin, editor, collaborator, viewer
Terminal window
curl -X PATCH "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/collaborators/user_5b9d2a14" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"role": "viewer"
}'

DELETE /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators/{collaboratorId}

Section titled “DELETE /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/collaborators/{collaboratorId}”

Removes a collaborator from a node. Requires admin permission.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node to remove the collaborator from
collaboratorIdpathstringYesThe collaborator user ID to remove
Terminal window
curl -X DELETE "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/collaborators/user_5b9d2a14" \
-H "Authorization: Bearer <token>"

Add, list, and remove emoji reactions on nodes. Reactions are scoped to the current authenticated user.

GET /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/reactions

Section titled “GET /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/reactions”

Returns all reactions on a node with the collaborator who reacted.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node whose reactions should be listed
Terminal window
curl -X GET "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/reactions" \
-H "Authorization: Bearer <token>"

POST /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/reactions

Section titled “POST /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/reactions”

Adds an emoji reaction to a node on behalf of the current user.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node to react to
FieldTypeRequiredDescription
reactionstringYesThe reaction to add (1–64 characters). Typically an emoji.
Terminal window
curl -X POST "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/reactions" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"reaction": "🎉"
}'

DELETE /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/reactions/{reaction}

Section titled “DELETE /api/v1/notes/notebooks/{notebookId}/nodes/{nodeId}/reactions/{reaction}”

Removes an emoji reaction from a node for the current user.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the node
nodeIdpathstringYesThe node from which to remove the reaction
reactionpathstringYesThe exact reaction string to remove (e.g. 🎉)
Terminal window
curl -X DELETE "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/nodes/node_4d2e9f1a/reactions/%F0%9F%8E%89" \
-H "Authorization: Bearer <token>"

Manage users that belong to a notebook and their notebook-wide role. These endpoints require owner or admin permission on the notebook.

POST /api/v1/notes/notebooks/{notebookId}/users

Section titled “POST /api/v1/notes/notebooks/{notebookId}/users”

Creates one or more users in the notebook by username. Returns created users and any errors.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook to invite users to
FieldTypeRequiredDescription
usersarrayYesList of users to invite (max 50). Each item requires username and role.
users[].usernamestringYesThe username of the user to invite
users[].rolestringYesThe notebook role to assign. One of: owner, admin, collaborator, guest, none
Terminal window
curl -X POST "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/users" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"users": [
{ "username": "grace", "role": "editor" },
{ "username": "linus", "role": "collaborator" }
]
}'

PATCH /api/v1/notes/notebooks/{notebookId}/users/{userId}/role

Section titled “PATCH /api/v1/notes/notebooks/{notebookId}/users/{userId}/role”

Changes the notebook role of a user. Requires owner or admin permission.

NameInTypeRequiredDescription
notebookIdpathstringYesThe notebook that contains the user
userIdpathstringYesThe user whose role should be changed
FieldTypeRequiredDescription
rolestringYesThe new notebook role. One of: owner, admin, collaborator, guest, none
Terminal window
curl -X PATCH "https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a1c2b/users/user_5b9d2a14/role" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"role": "admin"
}'