Skip to content

The Notes Notebooks API lets you create, retrieve, update, and delete notebooks. Use these endpoints to manage the top-level containers that hold your notes, files, and collaborative content. Notebook ownership and role permissions govern which operations a given user can perform.

A notebook represents the top-level container in the Notes service. Key fields include:

FieldTypeRequiredDescription
idstringYesUnique identifier of the notebook
namestringYesDisplay name of the notebook
descriptionstring | nullNoOptional description
avatarstring | nullNoOptional avatar URL or identifier
userobjectYesObject containing the requesting user’s id and role within the notebook
user.rolestringYesOne of owner, admin, collaborator, guest, none
statusnumberYesNotebook status code (1, 2, or 3)
maxFileSizestringNoMaximum allowed file size for uploads to this notebook

List all notebooks the requesting user is a member of. Notebooks where the user has role none and notebooks with inactive status are excluded.

await client.notes.notebooks.listNotebooks();
Terminal window
curl -X GET https://api.hoody.com/api/v1/notes/notebooks \
-H "Authorization: Bearer <token>"
{
"notebooks": [
{
"id": "nb_8f3a2b1c4d5e6f7g",
"name": "Product Roadmap",
"description": "Q4 planning and roadmap tracking",
"avatar": null,
"user": {
"id": "usr_1a2b3c4d5e6f7g8h",
"role": "owner"
},
"status": 1,
"maxFileSize": "104857600"
},
{
"id": "nb_9h8g7f6e5d4c3b2a",
"name": "Engineering Wiki",
"description": null,
"avatar": "https://cdn.hoody.com/avatars/eng-wiki.png",
"user": {
"id": "usr_1a2b3c4d5e6f7g8h",
"role": "collaborator"
},
"status": 1,
"maxFileSize": "52428800"
}
]
}

Retrieve metadata for a single notebook, including the current user’s role within it.

NameInTypeRequiredDescription
notebookIdpathstringYesIdentifier of the notebook to retrieve
await client.notes.notebooks.get("nb_8f3a2b1c4d5e6f7g");
Terminal window
curl -X GET https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a2b1c4d5e6f7g \
-H "Authorization: Bearer <token>"
{
"id": "nb_8f3a2b1c4d5e6f7g",
"name": "Product Roadmap",
"description": "Q4 planning and roadmap tracking",
"avatar": null,
"user": {
"id": "usr_1a2b3c4d5e6f7g8h",
"role": "owner"
},
"status": 1,
"maxFileSize": "104857600"
}

Create a new notebook. The calling user becomes the owner.

FieldTypeRequiredDescription
namestringYesDisplay name for the notebook
descriptionstring | nullNoOptional description
avatarstring | nullNoOptional avatar URL or identifier
await client.notes.notebooks.create({
name: "Product Roadmap",
description: "Q4 planning and roadmap tracking",
avatar: null
});
Terminal window
curl -X POST https://api.hoody.com/api/v1/notes/notebooks \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Product Roadmap",
"description": "Q4 planning and roadmap tracking",
"avatar": null
}'
{
"id": "nb_8f3a2b1c4d5e6f7g",
"name": "Product Roadmap",
"description": "Q4 planning and roadmap tracking",
"avatar": null,
"user": {
"id": "usr_1a2b3c4d5e6f7g8h",
"role": "owner"
},
"status": 1,
"maxFileSize": "104857600"
}

PATCH /api/v1/notes/notebooks/{notebookId}

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

Update a notebook’s name, description, or avatar. Only notebook owners can update.

NameInTypeRequiredDescription
notebookIdpathstringYesIdentifier of the notebook to update
FieldTypeRequiredDescription
namestringYesNew display name for the notebook
descriptionstring | nullNoNew description for the notebook
avatarstring | nullNoNew avatar URL or identifier
await client.notes.notebooks.update("nb_8f3a2b1c4d5e6f7g", {
name: "Product Roadmap 2025",
description: "Updated Q1 planning workspace",
avatar: null
});
Terminal window
curl -X PATCH https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a2b1c4d5e6f7g \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Product Roadmap 2025",
"description": "Updated Q1 planning workspace",
"avatar": null
}'
{
"id": "nb_8f3a2b1c4d5e6f7g",
"name": "Product Roadmap 2025",
"description": "Updated Q1 planning workspace",
"avatar": null,
"user": {
"id": "usr_1a2b3c4d5e6f7g8h",
"role": "owner"
},
"status": 1,
"maxFileSize": "104857600"
}

DELETE /api/v1/notes/notebooks/{notebookId}

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

Permanently delete a notebook and all of its data. Only notebook owners can delete.

NameInTypeRequiredDescription
notebookIdpathstringYesIdentifier of the notebook to delete
await client.notes.notebooks.delete("nb_8f3a2b1c4d5e6f7g");
Terminal window
curl -X DELETE https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a2b1c4d5e6f7g \
-H "Authorization: Bearer <token>"
{
"id": "nb_8f3a2b1c4d5e6f7g",
"name": "Product Roadmap",
"description": "Q4 planning and roadmap tracking",
"avatar": null,
"user": {
"id": "usr_1a2b3c4d5e6f7g8h",
"role": "owner"
},
"status": 3,
"maxFileSize": "104857600"
}