Documentation

API Documentation

RESTful API documentation for developers

Quick Info
Base URL
https://api.lotsnotes.com
Authentication

API Key (Bearer token or X-API-Key header)

Total Endpoints

113

Getting Started

Authentication

All API requests require authentication using an API key. You can create an API key from your dashboard.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lotsnotes.com/api/v1/lotsnotes/invitations/accept

workspace_context

POST
/api/v1/lotsnotes/invitations/accept

Accept invitation

lotsnotes_accept_invitation

Accept an email-bound LotsNotes invitation.

DELETE
/api/v1/lotsnotes/organizations/:organization_id/invitations/:invitation_id

Cancel invitation

lotsnotes_cancel_invitation

Cancel a pending invitation.

POST
/api/v1/lotsnotes/organization-notes

Create organization note

lotsnotes_create_organization_note

Create shared organization-wide text or checklist knowledge.

POST
/api/v1/lotsnotes/organizations/:organization_id/invitations

Invite team member

lotsnotes_invite_member

Email a secure LotsNotes team invitation.

GET
/api/v1/lotsnotes/organizations/:organization_id/invitations

List invitations

lotsnotes_list_invitations

List organization invitations.

GET
/api/v1/lotsnotes/organizations/:organization_id/context

List organization context

lotsnotes_get_organization_context

List organization-wide shared knowledge titles. Private notes are never returned.

POST
/api/v1/lotsnotes/notes/:note_id/move

Move note

lotsnotes_move_note

Move a note between organization knowledge and projects in the same organization.

POST
/api/v1/lotsnotes/organizations/:organization_id/invitations/:invitation_id/resend

Resend invitation

lotsnotes_resend_invitation

Send a fresh invitation link.

PATCH
/api/v1/lotsnotes/projects/:project_id

Update project

lotsnotes_update_project

Rename or describe a LotsNotes project.

PATCH
/api/v1/lotsnotes/organizations/:organization_id/members/:member_id

Update team member

lotsnotes_update_member

Change a member role and project access.

blocks

POST
/api/v1/lotsnotes/blocks

Add Block

lotsnotes_add_block

Add a content block to a note. For checklist blocks, ideally provide items with id, text, and checked fields. However, the API is forgiving - if you send just [{text: "task"}] or even ["task1", "task2"], it will auto-generate unique IDs and set checked=false. Example: {items: [{text: "Task 1"}, {text: "Task 2"}]}

POST
/api/v1/lotsnotes/checklist-items

Add Checklist Item

lotsnotes_add_checklist_item

Add a new item to an existing checklist block. The item will be added at the end of the list, unchecked.

DELETE
/api/v1/lotsnotes/block/:id

Delete Block

lotsnotes_delete_block

Delete a content block from a note. This permanently removes the block.

DELETE
/api/v1/lotsnotes/blocks/:block_id/items/:item_id

Delete Checklist Item

lotsnotes_delete_checklist_item

Remove a specific item from a checklist block.

GET
/api/v1/lotsnotes/notes/:id/blocks

Get Blocks

lotsnotes_get_blocks

Get all content blocks for a note, ordered by position. This returns the full content of a note broken down into its component blocks.

PUT
/api/v1/lotsnotes/notes/:id/blocks/reorder

Reorder Blocks

lotsnotes_reorder_blocks

Change the order of blocks within a note. Provide an array of block IDs with their new positions.

PUT
/api/v1/lotsnotes/block/:id

Update Block

lotsnotes_update_block

Update a block's content or position. For checklist blocks, ideally provide items with id, text, and checked fields. However, the API is forgiving - missing id/checked will be auto-filled.

PUT
/api/v1/lotsnotes/blocks/:block_id/items/:item_id

Update Checklist Item

lotsnotes_update_checklist_item

Check or uncheck a specific item in a checklist block. Use this to mark tasks as complete or incomplete.

labels

POST
/api/v1/lotsnotes/notes/:id/labels

Add Label to Note

lotsnotes_add_label_to_note

Attach a label to a note for organization. A note can have multiple labels.

POST
/api/v1/lotsnotes/notes/:id/labels/bulk

Bulk Add Labels to Note

lotsnotes_bulk_add_labels_to_note

Add multiple labels to a note at once. Skips labels that are already attached.

POST
/api/v1/lotsnotes/label

Create Label

lotsnotes_create_label

Create a new label for organizing notes. Labels can have a name and optional color. Label names must be unique per user.

DELETE
/api/v1/lotsnotes/label/:id

Delete Label

lotsnotes_delete_label

Delete a label. This will also remove the label from all notes that have it.

GET
/api/v1/lotsnotes/label/:id

Get Label

lotsnotes_get_label

Get a single label by ID.

GET
/api/v1/lotsnotes/notes/:id/labels

Get Labels for Note

lotsnotes_get_labels_for_note

Get all labels attached to a specific note.

GET
/api/v1/lotsnotes/labels/:id/notes

Get Notes by Label

lotsnotes_get_notes_by_label

Get all notes that have a specific label attached. Useful for viewing notes in a category.

GET
/api/v1/lotsnotes/labels

List Labels

lotsnotes_list_labels

List all labels for the user. Labels are sorted alphabetically by name. Supports search and pagination.

DELETE
/api/v1/lotsnotes/notes/:note_id/labels/:label_id

Remove Label from Note

lotsnotes_remove_label_from_note

Remove a label from a note.

PUT
/api/v1/lotsnotes/notes/:id/labels

Set Labels for Note

lotsnotes_set_labels_for_note

Replace all labels on a note with a new set. Removes existing labels and adds the specified ones.

PUT
/api/v1/lotsnotes/label/:id

Update Label

lotsnotes_update_label

Update a label's name or color. Name must remain unique among user's labels.

project_context

POST
/api/v1/lotsnotes/organizations/:organization_id/members

Add organization member

lotsnotes_add_member

Add an existing LotsNotes user to an organization.

POST
/api/v1/lotsnotes/projects

Create project

lotsnotes_create_project

Create a project in a LotsNotes organization. Owner or admin required.

POST
/api/v1/lotsnotes/project-notes

Create project note

lotsnotes_create_project_note

Create a project-visible freeform text or checklist note.

POST
/api/v1/lotsnotes/workspace/ensure

Ensure workspace

lotsnotes_ensure_workspace

Create the authenticated user's default LotsNotes organization and project when needed.

GET
/api/v1/lotsnotes/project-notes/:note_id

Get project note

lotsnotes_get_project_note

Get one project-visible note with its text or checklist blocks. Private notes return not found.

GET
/api/v1/lotsnotes/organizations/:organization_id/members

List organization members

lotsnotes_list_members

List active LotsNotes organization members.

GET
/api/v1/lotsnotes/projects/:project_id/context

List project context notes

lotsnotes_get_project_context

List inherited organization knowledge and project-specific shared note titles. Private notes are never returned.

GET
/api/v1/lotsnotes/projects

List projects

lotsnotes_list_projects

List accessible projects in a LotsNotes organization.

DELETE
/api/v1/lotsnotes/organizations/:organization_id/members/:member_id

Remove organization member

lotsnotes_remove_member

Remove a member from a LotsNotes organization.

PUT
/api/v1/lotsnotes/project-notes/:note_id

Update project note

lotsnotes_update_project_note

Update the title or note type of a project-visible note. Use update_block for its content.

business_context

POST
/api/v1/lotsnotes/context/notes/:note_id/archive

Archive context note

lotsnotes_archive_context_note

Archive a note without deleting it.

POST
/api/v1/lotsnotes/folders

Create folder

lotsnotes_create_folder

Create a folder in a workspace, for a product, client, brand, agent or anything else. Set parent_folder_id to create it inside another folder.

POST
/api/v1/lotsnotes/spaces

Create knowledge space

lotsnotes_create_space

Create a space inside an organization. A space can represent a product, project, brand, client, department, or initiative.

POST
/api/v1/lotsnotes/context/notes

Create note

lotsnotes_create_context_note

Create a shared note with a Markdown body and/or checklist items. Omit folder_id for a workspace-wide note. Title it AGENTS.md for instructions every agent should read. The response includes the note's url: give it to the person so they can open and review the note on lotsnotes.com.

POST
/api/v1/lotsnotes/organizations

Create organization

lotsnotes_create_organization

Create an organization as the top-level business and team boundary.

POST
/api/v1/lotsnotes/workspaces

Create workspace

lotsnotes_create_workspace

Create a workspace for a business, team or area of work.

DELETE
/api/v1/lotsnotes/folders/:folder_id

Delete folder

lotsnotes_delete_folder

Delete a folder that has no subfolders. Its notes are hidden and preserved, and restore_folder brings everything back.

DELETE
/api/v1/lotsnotes/spaces/:space_id

Delete knowledge space

lotsnotes_delete_space

Recoverably delete a space. Its notes are hidden and preserved; they are never moved into broader organization knowledge.

DELETE
/api/v1/lotsnotes/connections/:connection_id

Disconnect an app

lotsnotes_revoke_connection

Revoke one connection. The app's token stops working immediately.

GET
/api/v1/lotsnotes/context

Find notes

lotsnotes_find_context

Find shared notes by title. Workspace-wide notes always come back (as workspace_notes). With folder_id, that folder's own notes come back too (as folder_notes). Each note has a summary and a url. Read a note with read_note. A note titled AGENTS.md holds instructions for agents: read it first.

POST
/api/v1/lotsnotes/context/notes/import

Import context documents

lotsnotes_import_context

Create or update labeled notes from a client's existing context documents. Idempotent on import_key.

GET
/api/v1/lotsnotes/connections

List connected apps

lotsnotes_list_connections

List the apps this person has authorized to reach their notes.

GET
/api/v1/lotsnotes/folders

List folders

lotsnotes_list_folders

List the folders in a workspace with their paths (e.g. "Agents / Blog / Drafts") and parent_folder_id.

GET
/api/v1/lotsnotes/spaces

List knowledge spaces

lotsnotes_list_spaces

List active spaces for products, projects, brands, clients, departments, or initiatives.

GET
/api/v1/lotsnotes/context/notes/:note_id/versions

List note history

lotsnotes_list_context_versions

List saved versions of an accessible note, newest first.

GET
/api/v1/lotsnotes/organizations

List organizations

lotsnotes_list_organizations

List the organizations whose business context this user can access.

GET
/api/v1/lotsnotes/workspaces

List workspaces

lotsnotes_list_workspaces

List the workspaces you can access. A workspace holds workspace-wide notes and folders.

DELETE
/api/v1/lotsnotes/context/notes/:note_id

Move context note to trash

lotsnotes_trash_note

Soft-delete a note so it can be restored later.

POST
/api/v1/lotsnotes/folders/:folder_id/move

Move folder

lotsnotes_move_folder

Move a folder inside another folder of the same workspace. Omit parent_folder_id (or send null) to move it to the top level.

POST
/api/v1/lotsnotes/context/notes/:note_id/move

Move note

lotsnotes_move_context_note

Move a note to another folder, or to another workspace (needs admin access in both). Omit folder_id to make it workspace-wide. The note keeps its id, url and version history.

GET
/api/v1/lotsnotes/context/notes/:note_id

Read note

lotsnotes_read_note

Read one accessible shared note. Returns content_markdown, structured checklist items and the note's url (share it when the person wants to open the note). Private notes always return not found.

GET
/api/v1/lotsnotes/context/versions/:version_id

Read note version

lotsnotes_get_context_version

Read a saved version snapshot for an accessible note.

PATCH
/api/v1/lotsnotes/folders/:folder_id

Rename folder

lotsnotes_update_folder

Rename a folder or change its description.

PATCH
/api/v1/lotsnotes/organizations/:organization_id

Rename organization

lotsnotes_update_organization

Rename an organization without changing its stable ID.

PATCH
/api/v1/lotsnotes/workspaces/:workspace_id

Rename workspace

lotsnotes_update_workspace

Rename a workspace. Its id does not change.

POST
/api/v1/lotsnotes/context/resolve

Resolve bound context

lotsnotes_resolve_context

Assemble the core context for a bound scope into two prompt slots, plus a catalogue of the other notes available on demand.

POST
/api/v1/lotsnotes/context/notes/:note_id/restore

Restore context note

lotsnotes_restore_context_note

Restore an archived or trashed note.

POST
/api/v1/lotsnotes/folders/:folder_id/restore

Restore folder

lotsnotes_restore_folder

Restore a deleted folder and its notes.

POST
/api/v1/lotsnotes/spaces/:space_id/restore

Restore knowledge space

lotsnotes_restore_space

Restore a recoverably deleted space and its preserved notes.

POST
/api/v1/lotsnotes/context/notes/:note_id/versions/:version_id/restore

Restore note version

lotsnotes_restore_context_version

Restore an accessible note to a saved version while preserving the current state in history.

PUT
/api/v1/lotsnotes/context/notes/:note_id

Save note

lotsnotes_save_context_note

Save a note title, Markdown body, or checklist in one coherent operation and create one version snapshot. The response includes the note's url: give it to the person so they can open and review the change on lotsnotes.com.

PATCH
/api/v1/lotsnotes/spaces/:space_id

Update knowledge space

lotsnotes_update_space

Rename or describe a knowledge space.

notes

POST
/api/v1/lotsnotes/notes/:id/archive

Archive Note

lotsnotes_archive_note

Archive a note to remove it from the main view while keeping it accessible. Archived notes are automatically unpinned. Use list_notes with is_archived=true to view archived notes.

POST
/api/v1/lotsnotes/notes/full/batch

Batch get notes with blocks

lotsnotes_get_notes_full_batch

Fetch multiple notes with blocks by IDs in one request.

PUT
/api/v1/lotsnotes/notes/:id/color

Change Note Color

lotsnotes_change_note_color

Change the background color of a note for visual organization. Set to null to remove color.

POST
/api/v1/lotsnotes/note

Create Note

lotsnotes_create_note

Create a new note with optional content blocks. For checklist notes, ideally provide items with id, text, and checked fields. However, the API is forgiving - if you send just [{text: "task"}] or even ["task1", "task2"], it will auto-generate unique IDs and set checked=false. Example: {block_type: "checklist", data: {items: [{text: "Buy groceries"}, {text: "Call mom"}]}}

DELETE
/api/v1/lotsnotes/note/:id

Delete Note

lotsnotes_delete_note

Move a note to trash (soft delete). The note can be restored later using restore_note or permanently deleted using permanently_delete_note.

POST
/api/v1/lotsnotes/notes/:id/duplicate

Duplicate Note

lotsnotes_duplicate_note

Create a copy of an existing note including all its blocks and labels. The new note will have "(Copy)" appended to its title and will not be pinned.

DELETE
/api/v1/lotsnotes/trash

Empty Trash

lotsnotes_empty_trash

Permanently delete all notes in the trash. This action cannot be undone. All associated data (blocks, labels, reminders, versions) will be deleted.

GET
/api/v1/lotsnotes/note/:id

Get Note

lotsnotes_get_note

Get a single note by ID. Returns the note metadata without blocks. Use get_note_with_blocks for full content.

GET
/api/v1/lotsnotes/notes/:id/full

Get Note With Blocks

lotsnotes_get_note_with_blocks

Get a note with all its content blocks and optionally labels. This is the recommended way to read a note's full content. Blocks are returned in position order.

GET
/api/v1/lotsnotes/trash

Get Trash

lotsnotes_get_trash

List all notes in the trash (soft-deleted notes). These notes can be restored using restore_note or permanently deleted.

GET
/api/v1/lotsnotes/notes

List Notes

lotsnotes_list_notes

List all notes for the user with powerful filtering options. Filter by archived status, pinned status, label, note type, or color. Search notes by title. Results are sorted with pinned notes first, then by the specified sort field. Supports pagination for large collections.

GET
/api/v1/lotsnotes/notes/full

List notes with blocks

lotsnotes_list_notes_full

List notes with blocks (and optional labels) in a single request.

DELETE
/api/v1/lotsnotes/notes/:id/permanent

Permanently Delete Note

lotsnotes_permanently_delete_note

Permanently delete a note and all its associated data (blocks, labels, reminders, versions). This action cannot be undone. Use with caution.

POST
/api/v1/lotsnotes/notes/:id/pin

Pin Note

lotsnotes_pin_note

Pin a note to the top of the list for quick access. Pinned notes always appear before unpinned notes when listing. Cannot pin archived notes.

POST
/api/v1/lotsnotes/notes/:id/restore

Restore Note

lotsnotes_restore_note

Restore a note from archive or trash back to active status. Works for both archived notes and soft-deleted (trashed) notes.

POST
/api/v1/lotsnotes/notes/:id/unpin

Unpin Note

lotsnotes_unpin_note

Remove the pin from a note so it returns to normal sorting order.

PUT
/api/v1/lotsnotes/note/:id

Update Note

lotsnotes_update_note

Update a note's metadata including title, type, color, and pinned status. This does not modify blocks - use block-specific tools for content changes.

reminders

POST
/api/v1/lotsnotes/reminders/:id/cancel

Cancel Reminder

lotsnotes_cancel_reminder

Cancel an active reminder without deleting it.

POST
/api/v1/lotsnotes/reminder

Create Reminder

lotsnotes_create_reminder

Set a reminder for a note. The reminder will trigger at the specified time. Supports recurring reminders with repeat rules (daily, weekly, monthly, yearly).

DELETE
/api/v1/lotsnotes/reminder/:id

Delete Reminder

lotsnotes_delete_reminder

Delete a reminder permanently.

GET
/api/v1/lotsnotes/reminders/overdue

Get Overdue Reminders

lotsnotes_get_overdue_reminders

Get all active reminders that are past their scheduled time. These need attention.

GET
/api/v1/lotsnotes/reminder/:id

Get Reminder

lotsnotes_get_reminder

Get details of a specific reminder including the associated note information.

GET
/api/v1/lotsnotes/notes/:id/reminders

Get Reminders for Note

lotsnotes_get_reminders_for_note

Get all reminders associated with a specific note.

GET
/api/v1/lotsnotes/reminders/upcoming

Get Upcoming Reminders

lotsnotes_get_upcoming_reminders

Get active reminders scheduled within the next N hours (default 24). Useful for showing what's coming up soon.

GET
/api/v1/lotsnotes/reminders

List Reminders

lotsnotes_list_reminders

List all reminders for the user. Filter by note, status, or date range. Sorted by reminder time.

POST
/api/v1/lotsnotes/reminders/:id/done

Mark Reminder Done

lotsnotes_mark_reminder_done

Mark a reminder as completed/done.

POST
/api/v1/lotsnotes/reminders/:id/snooze

Snooze Reminder

lotsnotes_snooze_reminder

Reschedule a reminder to a later time. The reminder will be reactivated at the new time.

PUT
/api/v1/lotsnotes/reminder/:id

Update Reminder

lotsnotes_update_reminder

Update a reminder's time, repeat rule, timezone, or status.

versions

GET
/api/v1/lotsnotes/versions/compare

Compare Versions

lotsnotes_compare_versions

Compare two versions of a note to see what changed between them.

GET
/api/v1/lotsnotes/notes/:id/versions/latest

Get Latest Version

lotsnotes_get_latest_version

Get the most recent saved version of a note.

GET
/api/v1/lotsnotes/version/:id

Get Version

lotsnotes_get_version

Get a specific version including its full snapshot data.

GET
/api/v1/lotsnotes/versions

List Versions

lotsnotes_list_versions

List all saved versions of a note. Versions are sorted newest first.

POST
/api/v1/lotsnotes/versions/:id/restore

Restore Version

lotsnotes_restore_version

Restore a note to a previous version. The current state is automatically saved as a new version before restoring, allowing you to undo the restore if needed.

POST
/api/v1/lotsnotes/notes/:id/versions

Save Current Version

lotsnotes_save_current_version

Create a version snapshot of the note's current state. Useful before making significant changes to enable undo.

attachments

POST
/api/v1/lotsnotes/attachment

Create Attachment

lotsnotes_create_attachment

Create an attachment record for a file that has been uploaded to storage. The actual file upload should be done separately. Attachments can be linked to a specific block or to the note directly.

DELETE
/api/v1/lotsnotes/attachment/:id

Delete Attachment

lotsnotes_delete_attachment

Delete an attachment record. Returns the storage path so the actual file can be deleted from storage separately.

GET
/api/v1/lotsnotes/attachment/:id

Get Attachment

lotsnotes_get_attachment

Get details of a specific attachment including metadata.

GET
/api/v1/lotsnotes/storage/usage

Get Storage Usage

lotsnotes_get_storage_usage

Get the user's total storage usage across all attachments. Shows total size in bytes and MB, file counts by type.

GET
/api/v1/lotsnotes/attachments

List Attachments

lotsnotes_list_attachments

List all attachments for a note. Can filter by block or file type.

billing

GET
/api/v1/lotsnotes/plan

Get LotsNotes plan

lotsnotes_get_plan

Show the caller's LotsNotes plan (Free or Pro), where Pro comes from, the Free limits (1 organization, 3 spaces, no team members) and current use.

POST
/api/v1/lotsnotes/checkout

Upgrade to LotsNotes Pro

lotsnotes_create_checkout

Start a checkout for LotsNotes Pro ($99 once: unlimited organizations, spaces and team members). Returns a link for the person to pay in their browser. Pro is already included with Pro or Business plans of LotsSocial, LotsBlog or LotsTeam.

workspace

POST
/api/v1/lotsnotes/projects/:project_id/move

Move folder (website)

lotsnotes_move_project

Website endpoint: put a folder inside another folder or at the top level.