Use these endpoints to manage records inside notebook databases. Databases are typed nodes within a notebook that store structured records, each with a name and a set of custom field values. The endpoints cover listing, retrieving, searching, creating, updating, and deleting records.
All requests target the Notes container scoped to the project, container, and server hosting the notebook.
GET /api/v1/notes/notebooks/{notebookId}/databases/{databaseId}/records
Returns a paginated list of records in a database. Supports JSON-encoded filters and sorts query parameters for narrowing results.
Name In Type Required Description notebookIdpath string Yes The ID of the notebook containing the database databaseIdpath string Yes The ID of the database to list records from filtersquery string No JSON-encoded filter expression applied to the records sortsquery string No JSON-encoded sort expression applied to the records pagequery integer No Page number to return. Default: 1 countquery integer No Number of records per page. Default: 50
" id " : " rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" status " : { " type " : " string " , " value " : " Active " },
" priority " : { " type " : " number " , " value " : 1 },
" tags " : { " type " : " string_array " , " value " : [ " lead " , " enterprise " ] }
" id " : " rec_01HXY8K2N3M4P5Q6R7S8T9V0W2 " ,
" status " : { " type " : " string " , " value " : " Pending " },
" priority " : { " type " : " number " , " value " : 2 },
" tags " : { " type " : " string_array " , " value " : [ " lead " ] }
" message " : " Invalid JSON in filters parameter. " ,
" message " : " Unexpected token at position 12 "
Error Code Title Description Resolution bad_requestInvalid filter or sort parameters The filters or sorts query parameter contains invalid JSON Verify the JSON structure of filter and sort parameters
" message " : " You do not have access to this node. " ,
" message " : " Caller is not a collaborator on the notebook "
Error Code Title Description Resolution forbiddenAccess denied User does not have permission to access this node Check collaborator list or request access from the node admin
" message " : " Database not found. " ,
" message " : " No database node with the provided ID "
Error Code Title Description Resolution not_foundDatabase not found No database node exists with the provided ID Verify database ID using listNodes
curl -X GET " https://prj_abc123-cnt_xyz789-notes-1.us-east.containers.hoody.icu/api/v1/notes/notebooks/nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1/databases/dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1/records?page=1&count=50 " \
-H " Authorization: Bearer <token> "
await client . notes . databases . listIterator (
" nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
GET /api/v1/notes/notebooks/{notebookId}/databases/{databaseId}/records/{recordId}
Returns a single record by ID from a database.
Name In Type Required Description notebookIdpath string Yes The ID of the notebook containing the database databaseIdpath string Yes The ID of the database containing the record recordIdpath string Yes The ID of the record to retrieve
" id " : " rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" status " : { " type " : " string " , " value " : " Active " },
" priority " : { " type " : " number " , " value " : 1 },
" tags " : { " type " : " string_array " , " value " : [ " lead " , " enterprise " ] }
" message " : " You do not have access to this node. " ,
" message " : " Caller is not a collaborator on the notebook "
Error Code Title Description Resolution forbiddenAccess denied User does not have permission to access this node Check collaborator list or request access from the node admin
" message " : " Record not found. " ,
" message " : " No record with the given ID exists in the database "
Error Code Title Description Resolution not_foundRecord not found No record with the given ID exists in the database Verify record ID using listRecords or searchRecords
curl -X GET " https://prj_abc123-cnt_xyz789-notes-1.us-east.containers.hoody.icu/api/v1/notes/notebooks/nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1/databases/dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1/records/rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " \
-H " Authorization: Bearer <token> "
await client . notes . databases . get (
" nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 "
GET /api/v1/notes/notebooks/{notebookId}/databases/{databaseId}/records/search
Searches records in a database by name. Supports excluding specific record IDs via a JSON-encoded array.
Name In Type Required Description notebookIdpath string Yes The ID of the notebook containing the database databaseIdpath string Yes The ID of the database to search within qquery string No Name fragment to match. Default: "" excludequery string No JSON-encoded array of record IDs to omit from results
" id " : " rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" status " : { " type " : " string " , " value " : " Active " }
" message " : " Invalid JSON in exclude parameter. " ,
" message " : " Expected a JSON array of record IDs "
Error Code Title Description Resolution bad_requestInvalid exclude parameter The exclude query parameter contains invalid JSON Provide a valid JSON array of record IDs to exclude
" message " : " You do not have access to this node. " ,
" message " : " Caller is not a collaborator on the notebook "
Error Code Title Description Resolution forbiddenAccess denied User does not have permission to access this node Check collaborator list or request access from the node admin
" message " : " Database not found. " ,
" message " : " No database node with the provided ID "
Error Code Title Description Resolution not_foundDatabase not found No database node exists with the provided ID Verify database ID using listNodes
curl -X GET " https://prj_abc123-cnt_xyz789-notes-1.us-east.containers.hoody.icu/api/v1/notes/notebooks/nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1/databases/dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1/records/search?q=Acme&exclude=%5B%22rec_01HXY8K2N3M4P5Q6R7S8T9V0W2%22%5D " \
-H " Authorization: Bearer <token> "
await client . notes . databases . search (
" nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
{ q : " Acme " , exclude : ' ["rec_01HXY8K2N3M4P5Q6R7S8T9V0W2"] ' }
POST /api/v1/notes/notebooks/{notebookId}/databases/{databaseId}/records
Creates a new record in a database with a name and custom field values.
Name In Type Required Description notebookIdpath string Yes The ID of the notebook containing the database databaseIdpath string Yes The ID of the database to create the record in
Name Type Required Description idstring No Optional client-provided record ID namestring No Display name for the record. Default: "Untitled" avatarstring | null No Avatar reference for the record fieldsobject No Map of field name to typed value. Default: {}
" id " : " rec_01HXY8K2N3M4P5Q6R7S8T9V0W3 " ,
" status " : { " type " : " string " , " value " : " New " },
" priority " : { " type " : " number " , " value " : 3 }
" message " : " Invalid request body. " ,
" message " : " Field value does not match the database schema "
" message " : " You do not have access to this node. " ,
" message " : " Caller is not a collaborator on the notebook "
Error Code Title Description Resolution forbiddenAccess denied User does not have permission to access this node Check collaborator list or request access from the node admin forbiddenInsufficient permissions User role does not have permission for this action Request a higher role from the notebook or node admin
" message " : " Database not found. " ,
" message " : " No database node with the provided ID "
Error Code Title Description Resolution not_foundDatabase not found No database node exists with the provided ID Verify database ID using listNodes
" message " : " Idempotency key conflict. " ,
" message " : " A different request was already made with the same idempotency key "
Error Code Title Description Resolution bad_requestIdempotency conflict A different request was already made with the same idempotency key Use a new idempotency key for a different request
" message " : " An unexpected error occurred. " ,
" message " : " Internal server error while persisting record "
Error Code Title Description Resolution unknownInternal server error An unexpected error occurred while processing the request Retry the request; if it persists, contact support
curl -X POST " https://prj_abc123-cnt_xyz789-notes-1.us-east.containers.hoody.icu/api/v1/notes/notebooks/nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1/databases/dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1/records " \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"status": { "type": "string", "value": "New" },
"priority": { "type": "number", "value": 3 }
await client . notes . databases . create (
" nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
status : { type : " string " , value : " New " },
priority : { type : " number " , value : 3 }
PATCH /api/v1/notes/notebooks/{notebookId}/databases/{databaseId}/records/{recordId}
Updates a record’s name, avatar, or field values. Fields provided in the request are merged with the existing values; fields not present in the body are left unchanged.
Name In Type Required Description notebookIdpath string Yes The ID of the notebook containing the database databaseIdpath string Yes The ID of the database containing the record recordIdpath string Yes The ID of the record to update
Name Type Required Description namestring No New display name for the record avatarstring | null No New avatar reference for the record fieldsobject No Map of field name to typed value; merged into existing fields
Each value in fields must include a type discriminator. Supported types are boolean, string, string_array, number, and text.
" id " : " rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" name " : " Acme Corp (Updated) " ,
" status " : { " type " : " string " , " value " : " Closed " },
" priority " : { " type " : " number " , " value " : 1 },
" tags " : { " type " : " string_array " , " value " : [ " lead " , " enterprise " , " closed " ] }
" message " : " Invalid request body. " ,
" path " : " fields.priority " ,
" message " : " Field value does not match the declared type "
" message " : " You do not have access to this node. " ,
" message " : " Caller is not a collaborator on the notebook "
Error Code Title Description Resolution forbiddenAccess denied User does not have permission to access this node Check collaborator list or request access from the node admin forbiddenInsufficient permissions User role does not have permission for this action Request a higher role from the notebook or node admin
" message " : " Record not found. " ,
" message " : " No record with the given ID exists in the database "
Error Code Title Description Resolution not_foundRecord not found No record with the given ID exists in the database Verify record ID using listRecords or searchRecords
" message " : " An unexpected error occurred. " ,
" message " : " Internal server error while updating record "
Error Code Title Description Resolution unknownInternal server error An unexpected error occurred while processing the request Retry the request; if it persists, contact support
curl -X PATCH " https://prj_abc123-cnt_xyz789-notes-1.us-east.containers.hoody.icu/api/v1/notes/notebooks/nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1/databases/dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1/records/rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"name": "Acme Corp (Updated)",
"status": { "type": "string", "value": "Closed" }
await client . notes . databases . update (
" nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
name : " Acme Corp (Updated) " ,
status : { type : " string " , value : " Closed " }
DELETE /api/v1/notes/notebooks/{notebookId}/databases/{databaseId}/records/{recordId}
Permanently deletes a record from a database.
Name In Type Required Description notebookIdpath string Yes The ID of the notebook containing the database databaseIdpath string Yes The ID of the database containing the record recordIdpath string Yes The ID of the record to delete
" message " : " You do not have permission to perform this action. " ,
" message " : " Caller role cannot delete records in this database "
Error Code Title Description Resolution forbiddenInsufficient permissions User role does not have permission for this action Request a higher role from the notebook or node admin
" message " : " Record not found. " ,
" message " : " No record with the given ID exists in the database "
Error Code Title Description Resolution not_foundRecord not found No record with the given ID exists in the database Verify record ID using listRecords or searchRecords
" message " : " An unexpected error occurred. " ,
" message " : " Internal server error while deleting record "
Error Code Title Description Resolution unknownInternal server error An unexpected error occurred while processing the request Retry the request; if it persists, contact support
curl -X DELETE " https://prj_abc123-cnt_xyz789-notes-1.us-east.containers.hoody.icu/api/v1/notes/notebooks/nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1/databases/dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1/records/rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 " \
-H " Authorization: Bearer <token> "
await client . notes . databases . delete (
" nbk_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" dbs_01HXY8K2N3M4P5Q6R7S8T9V0W1 " ,
" rec_01HXY8K2N3M4P5Q6R7S8T9V0W1 "