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:
Field Type Required Description idstring Yes Unique identifier of the notebook namestring Yes Display name of the notebook descriptionstring | null No Optional description avatarstring | null No Optional avatar URL or identifier userobject Yes Object containing the requesting user’s id and role within the notebook user.rolestring Yes One of owner, admin, collaborator, guest, none statusnumber Yes Notebook status code (1, 2, or 3) maxFileSizestring No Maximum 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 ();
curl -X GET https://api.hoody.com/api/v1/notes/notebooks \
-H " Authorization: Bearer <token> "
"id" : " nb_8f3a2b1c4d5e6f7g " ,
"name" : " Product Roadmap " ,
"description" : " Q4 planning and roadmap tracking " ,
"id" : " usr_1a2b3c4d5e6f7g8h " ,
"maxFileSize" : " 104857600 "
"id" : " nb_9h8g7f6e5d4c3b2a " ,
"name" : " Engineering Wiki " ,
"avatar" : " https://cdn.hoody.com/avatars/eng-wiki.png " ,
"id" : " usr_1a2b3c4d5e6f7g8h " ,
"maxFileSize" : " 52428800 "
"message" : " Bad request. " ,
"message" : " Must be a positive integer "
Error Code Title Description Resolution bad_requestBad request Invalid query parameters Verify request format and identity parameters
"message" : " You are not authorized to list notebooks. " ,
Retrieve metadata for a single notebook, including the current user’s role within it.
Name In Type Required Description notebookIdpath string Yes Identifier of the notebook to retrieve
await client . notes . notebooks . get ( " nb_8f3a2b1c4d5e6f7g " );
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 " ,
"id" : " usr_1a2b3c4d5e6f7g8h " ,
"maxFileSize" : " 104857600 "
"code" : " notebook_not_found " ,
"message" : " Notebook not found. " ,
Error Code Title Description Resolution notebook_not_foundNotebook not found No notebook exists for the current user context Verify the notebook ID in the URL and user identity params
"code" : " notebook_no_access " ,
"message" : " You do not have access to this notebook. " ,
Error Code Title Description Resolution notebook_no_accessNo access to notebook User does not have access to this notebook Verify user identity or request access from the owner
"code" : " notebook_not_found " ,
"message" : " Notebook not found. " ,
Create a new notebook. The calling user becomes the owner.
Field Type Required Description namestring Yes Display name for the notebook descriptionstring | null No Optional description avatarstring | null No Optional avatar URL or identifier
await client . notes . notebooks . create ({
description: " Q4 planning and roadmap tracking " ,
curl -X POST https://api.hoody.com/api/v1/notes/notebooks \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"name": "Product Roadmap",
"description": "Q4 planning and roadmap tracking",
"id" : " nb_8f3a2b1c4d5e6f7g " ,
"name" : " Product Roadmap " ,
"description" : " Q4 planning and roadmap tracking " ,
"id" : " usr_1a2b3c4d5e6f7g8h " ,
"maxFileSize" : " 104857600 "
"code" : " notebook_name_required " ,
"message" : " Notebook name is required. " ,
"message" : " Must not be empty "
Error Code Title Description Resolution notebook_name_requiredName required Notebook name is required and cannot be empty Provide a non-empty name in the request body
Update a notebook’s name, description, or avatar. Only notebook owners can update.
Name In Type Required Description notebookIdpath string Yes Identifier of the notebook to update
Field Type Required Description namestring Yes New display name for the notebook descriptionstring | null No New description for the notebook avatarstring | null No New avatar URL or identifier
await client . notes . notebooks . update ( " nb_8f3a2b1c4d5e6f7g " , {
name: " Product Roadmap 2025 " ,
description: " Updated Q1 planning workspace " ,
curl -X PATCH https://api.hoody.com/api/v1/notes/notebooks/nb_8f3a2b1c4d5e6f7g \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"name": "Product Roadmap 2025",
"description": "Updated Q1 planning workspace",
"id" : " nb_8f3a2b1c4d5e6f7g " ,
"name" : " Product Roadmap 2025 " ,
"description" : " Updated Q1 planning workspace " ,
"id" : " usr_1a2b3c4d5e6f7g8h " ,
"maxFileSize" : " 104857600 "
"message" : " Invalid request body. " ,
"message" : " Must be a non-empty string "
"code" : " notebook_update_not_allowed " ,
"message" : " You do not have permission to update this notebook. " ,
Error Code Title Description Resolution notebook_readonlyNotebook is read-only The notebook is in read-only mode and cannot be modified Contact the notebook owner to restore write access notebook_update_not_allowedUpdate not allowed User role does not have permission to update this notebook Only owners and admins can update notebook settings
"code" : " notebook_not_found " ,
"message" : " Notebook not found. " ,
"code" : " notebook_update_failed " ,
"message" : " Failed to update notebook. " ,
Error Code Title Description Resolution notebook_update_failedUpdate failed Notebook update failed due to a server error Retry the request; if it persists, contact support
Permanently delete a notebook and all of its data. Only notebook owners can delete.
Name In Type Required Description notebookIdpath string Yes Identifier of the notebook to delete
await client . notes . notebooks . delete ( " nb_8f3a2b1c4d5e6f7g " );
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 " ,
"id" : " usr_1a2b3c4d5e6f7g8h " ,
"maxFileSize" : " 104857600 "
"message" : " Invalid notebook ID. " ,
"message" : " Must be a valid identifier "
"code" : " notebook_delete_not_allowed " ,
"message" : " You do not have permission to delete this notebook. " ,
Error Code Title Description Resolution notebook_delete_not_allowedDelete not allowed Only the notebook owner can delete the notebook Request the owner to delete the notebook
"code" : " notebook_not_found " ,
"message" : " Notebook not found. " ,
Error Code Title Description Resolution notebook_not_foundNotebook not found No notebook exists with the provided ID Verify the notebook ID in the URL