# HERO API - [Overview](https://developers.myhero.so/introduction.md): Build with documents, projects, tables, and AI. - [Demos](https://developers.myhero.so/demos.md): End-to-end walkthroughs for the most common HERO integrations. - [Working with the API](https://developers.myhero.so/working-with-the-api.md): Conventions, base URL, and your first request. - [Authentication](https://developers.myhero.so/authentication.md): Authenticate to the HERO REST API and MCP server with Bearer API keys. Generate, scope, and revoke keys from your account settings. - [Working with AI agents](https://developers.myhero.so/ai/overview.md): HERO's built-in AI agents for drafting, reviewing, and analysing documents — accessible via the REST API and MCP server, with skills for contracts, NDAs, compliance, and more. - [Connect HERO to your AI tool](https://developers.myhero.so/mcp/overview.md): Connect Cursor, VS Code, Claude Desktop, and other MCP clients to HERO. Install links, manual config, and the remote MCP endpoint. - [MCP Authentication](https://developers.myhero.so/mcp/authentication.md): Authenticate MCP clients with a personal access token or via OAuth. - [How automations fire](https://developers.myhero.so/automation-events.md): Every trigger, event, condition and token a HERO automation can use — what starts a run, what it is told when it does, and every way it can silently not fire. - [Starting a workflow from your own service](https://developers.myhero.so/automations.md): Send data into HERO from anywhere and start an automation with it — how to authenticate, what to post, and how a workflow reads the fields you sent. - [Webhooks](https://developers.myhero.so/webhooks.md): HERO can call your endpoint when a workflow runs, and your service can call HERO to start one. - [Check document access](https://developers.myhero.so/api-reference/access/get-document-access.md): Returns `true` if the authenticated user can access the document identified by `documentId`, `false` otherwise. - [Check email existence](https://developers.myhero.so/api-reference/access/get-email-exists.md): Returns `true` if a user account is registered for `email`, `false` otherwise. - [Check project access](https://developers.myhero.so/api-reference/access/get-project-access.md): Returns `true` if the authenticated user can access the project identified by `projectId`, `false` otherwise. - [Run an AI agent](https://developers.myhero.so/api-reference/ai/ai-chat.md): Runs the general AI agent and returns the complete response as a `chatMessages` array. - [Delete an AI chat session](https://developers.myhero.so/api-reference/ai/ai-delete-session.md): Deletes the stored conversation history for a session and discards its undo stack, including the editor snapshots the AI captured before each edit. - [Generate an HTML block](https://developers.myhero.so/api-reference/ai/ai-generate-html-block.md): Generates a self-contained interactive HTML widget — a calculator, dashboard, slide deck, prototype or game — for an editor HTML block, or revises one when `currentHtml` is given. The widget follows HERO's design system and is responsive. Context comes from the page (`context`), references in the pr… - [Retrieve AI usage](https://developers.myhero.so/api-reference/ai/ai-get-usage.md): Returns the authenticated user's current token consumption (`usedTokens`), plan limit (`tokenLimit`), the timestamp when the usage counter resets (`tokenResetAt`), and tokens spent on the user's own API key (`ownKeyTokens`), which is reported but never limited. - [Stream an AI agent](https://developers.myhero.so/api-reference/ai/ai-stream.md): Runs the general AI agent and streams its response as Server-Sent Events over `text/event-stream`. - [Transform text](https://developers.myhero.so/api-reference/ai/ai-transform-text.md): Applies a named transformation (`operation`) to the provided `text` and returns the rewritten string along with token `usage`. - [Undo last AI agent run](https://developers.myhero.so/api-reference/ai/ai-undo.md): Reverses the most recent AI-driven changes for the given `sessionId` and truncates that exchange from the conversation history. - [Remove an AI key](https://developers.myhero.so/api-reference/ai/delete-ai-key.md): Deletes the stored key and returns that vendor to the plan's monthly credits. - [List AI key settings](https://developers.myhero.so/api-reference/ai/list-ai-keys.md): Returns, for each supported vendor, whether a key is stored, its last four characters, and whether requests for that vendor run on the key or on the plan's monthly credits. - [Store an AI key](https://developers.myhero.so/api-reference/ai/set-ai-key.md): Encrypts and stores a vendor API key, and switches that vendor to it. - [Choose who pays for a vendor](https://developers.myhero.so/api-reference/ai/set-ai-key-source.md): Switches a vendor between the user's own key and the plan's monthly credits. - [Check a stored key works](https://developers.myhero.so/api-reference/ai/verify-ai-key.md): Makes a minimal live call to the vendor with the stored key. - [Create an API key](https://developers.myhero.so/api-reference/api-keys/create-api-key.md): Creates a personal API key that authenticates as the calling user against the standard REST API. - [List API keys](https://developers.myhero.so/api-reference/api-keys/list-api-keys.md): Returns the calling user's REST API keys (active only). - [Revoke an API key](https://developers.myhero.so/api-reference/api-keys/revoke-api-key.md): Marks the API key as revoked. - [Cancel a run](https://developers.myhero.so/api-reference/automations/cancel-automation-run.md): Stops a run that is queued or already going. - [Draft an automation from a description](https://developers.myhero.so/api-reference/automations/compose-automation-draft.md): Turns plain English into a schema-validated draft through one constrained model call with no tools. - [Create an automation](https://developers.myhero.so/api-reference/automations/create-automation.md): Creates an automation. - [Delete an automation](https://developers.myhero.so/api-reference/automations/delete-automation.md) - [Run one workflow method](https://developers.myhero.so/api-reference/automations/execute-workflow-method.md): Executes a single workflow step — the same methods an automation's steps run through, with the same scoping and bounds — without creating an automation. - [Read one automation](https://developers.myhero.so/api-reference/automations/get-automation.md) - [Read one run](https://developers.myhero.so/api-reference/automations/get-automation-run.md): Includes per-step results and, for runs with an AI step, the session transcript. - [List an automation's runs](https://developers.myhero.so/api-reference/automations/get-automation-runs.md): Most recent first. - [List the caller's notifications](https://developers.myhero.so/api-reference/automations/list-automation-notifications.md) - [List a project's automations](https://developers.myhero.so/api-reference/automations/list-automations.md): Returns every automation whose home project is `projectId`. - [Mark notifications as read](https://developers.myhero.so/api-reference/automations/mark-automation-notifications-read.md) - [Rebuild an automation from an edited description](https://developers.myhero.so/api-reference/automations/regenerate-automation.md): Re-runs the composer against a new description and replaces what it determines — name, triggers, conditions and actions. - [Resolve a set of references](https://developers.myhero.so/api-reference/automations/resolve-automation-references.md): Reports what each `hero:` reference currently points at, and which no longer resolve. - [Revert a run](https://developers.myhero.so/api-reference/automations/revert-automation-run.md): Undoes what the run changed inside HERO. - [Rotate the webhook secret](https://developers.myhero.so/api-reference/automations/rotate-automation-webhook-secret.md): Returns the new secret once. - [Run an automation now](https://developers.myhero.so/api-reference/automations/run-automation.md): Queues a run immediately. `text` is passed to the run as untrusted data, wrapped so an AI step treats it as input rather than as instructions. `source` marks a run started by an in-app button, which needs only read access to the project. - [Search entities an automation may reference](https://developers.myhero.so/api-reference/automations/search-automation-mentions.md): Feeds the `@` picker and the table/column/document selectors. - [Update an automation](https://developers.myhero.so/api-reference/automations/update-automation.md): Owner or project admin only: a run executes with the owner's credentials, so changing what it does is a different act from reading it. - [Retrieve a block](https://developers.myhero.so/api-reference/blocks/get-block-by-id.md): Returns a single block document (clause block, clause reference, placeholder, term definition, or image block) by its `_id`. - [Retrieve multiple blocks](https://developers.myhero.so/api-reference/blocks/get-blocks-by-ids.md): Accepts an array of block IDs and returns the matching block documents. - [Create a clause reference](https://developers.myhero.so/api-reference/clauses/create-clause-reference.md): Creates a clause reference linking a block in a document to a cross-document clause hierarchy. - [Paste clause references](https://developers.myhero.so/api-reference/clauses/create-pasted-clause-references.md): Duplicates clause references during a paste operation by mapping old reference IDs to new IDs supplied in `oldToNewClauseReferenceIds`. - [Retrieve a clause block](https://developers.myhero.so/api-reference/clauses/get-clause-block-by-id-or-hierarchy.md): Looks up the clause block associated with a clause reference, first by block ID and then by the reference's `hierarchy` string. - [Retrieve a clause reference](https://developers.myhero.so/api-reference/clauses/get-clause-reference-by-id.md): Returns the `ClauseReference` record identified by `referenceId`. - [Retrieve multiple clause references](https://developers.myhero.so/api-reference/clauses/get-clause-references-by-ids.md): Bulk-fetches `ClauseReference` records for the IDs supplied in `data`. - [LLM-friendly site map](https://developers.myhero.so/api-reference/discovery/get-llms-txt.md): Curated, markdown-formatted overview of the site for AI crawlers, per the llmstxt.org convention. - [Robots exclusion rules](https://developers.myhero.so/api-reference/discovery/get-robots-txt.md): Standard robots.txt at the site root telling crawlers which paths are allowed/disallowed and pointing at the sitemap. - [Security disclosure contacts](https://developers.myhero.so/api-reference/discovery/get-security-txt.md): RFC 9116 security.txt with contact info for security researchers reporting vulnerabilities. - [Public URL sitemap](https://developers.myhero.so/api-reference/discovery/get-sitemap-xml.md): XML sitemap of publicly indexable URLs, per the sitemaps.org schema. - [Accept a document transfer](https://developers.myhero.so/api-reference/documents/accept-document-transfer.md): Accepts a pending transfer identified by `transferId`, copying the documents into the caller's target workspace or project. - [Create a document](https://developers.myhero.so/api-reference/documents/create-document.md): Creates a new document inside the given project. - [Create a document transfer](https://developers.myhero.so/api-reference/documents/create-document-transfer.md): Initiates a transfer of one or more documents to another user by `email`. - [Decline a document transfer](https://developers.myhero.so/api-reference/documents/decline-document-transfer.md): Marks a pending transfer as declined. - [Delete documents](https://developers.myhero.so/api-reference/documents/delete-documents-many.md): Soft-deletes the given documents and all of their descendants by setting `isDeleted: true`. - [Stream the latest .docx blob](https://developers.myhero.so/api-reference/documents/export-docx-blob.md): Streams the .docx blob directly with an attachment Content-Disposition header. - [Retrieve document preview content](https://developers.myhero.so/api-reference/documents/get-doc-preview-content-by-document-id.md): Returns the ProseMirror JSON content of a document, derived from its Y.js collaborative state. - [Retrieve a document](https://developers.myhero.so/api-reference/documents/get-document.md): Retrieves a single document by `documentId`. - [Retrieve document editor data](https://developers.myhero.so/api-reference/documents/get-document-initial-data.md): Returns the aggregated payload required to bootstrap the document editor for `documentId`. - [Retrieve PDF template data](https://developers.myhero.so/api-reference/documents/get-document-pdfdata.md): Retrieves the stored PDF template payload for a document of type `EXTERNAL/PDF`. - [Retrieve document settings](https://developers.myhero.so/api-reference/documents/get-document-settings.md): Returns the settings record for the document identified by `documentId`, including `listTemplateId` and `importedTermsFileId`. - [List document transfers](https://developers.myhero.so/api-reference/documents/get-document-transfers.md): Returns all document transfers where the authenticated user is either the sender or the recipient. - [Retrieve multiple documents](https://developers.myhero.so/api-reference/documents/get-documents.md): Fetches a batch of documents by their `_id`s. - [List documents in a project](https://developers.myhero.so/api-reference/documents/get-documents-by-project-id.md): Lists all documents belonging to `projectId`. - [List interconnected document IDs](https://developers.myhero.so/api-reference/documents/get-documents-interconnection.md): Traverses the document graph starting from the provided `documentIds` and returns all reachable related document IDs. - [Get signed URL for the .docx blob](https://developers.myhero.so/api-reference/documents/get-docx-download-url.md): Returns a short-lived signed URL the browser can use to fetch the .docx blob from object storage, plus the `seededAt` timestamp (or null) used to coordinate first-open seeding. - [Count table views embedded in documents](https://developers.myhero.so/api-reference/documents/get-embedded-table-view-count.md): Returns how many distinct table views the given documents embed between them. - [Retrieve PDF initial data](https://developers.myhero.so/api-reference/documents/get-pdfinitial-data.md): Returns the table references and referenced rows associated with a PDF document. - [Invite a user to a document](https://developers.myhero.so/api-reference/documents/invite-user-to-document.md): Invites a single user by `email` to a document with the specified `role`. - [Invite users to documents](https://developers.myhero.so/api-reference/documents/invite-users-to-documents.md): Invites one or more users by `emails` to one or more `documentIds` at the specified `role`. - [Mark a DOCX as Y.Doc-seeded](https://developers.myhero.so/api-reference/documents/mark-docx-seeded.md): Sets `external.seededAt` on the DocumentDoc after the browser has converted the .docx blob into the collaborative Y.Doc. - [Copy documents to a location](https://developers.myhero.so/api-reference/documents/paste-documents.md): Creates deep copies of the specified documents (and their children) under a new `parentId`. - [Remove a document collaborator](https://developers.myhero.so/api-reference/documents/remove-collaborator.md): Removes a collaborator by `userId` from a single document and cleans up their access from any parent folder hierarchy if they no longer have access to other documents in those folders. - [Remove a collaborator from documents](https://developers.myhero.so/api-reference/documents/remove-collaborator-from-documents.md): Removes a collaborator by `userId` from multiple documents at once. - [Persist updated .docx blob](https://developers.myhero.so/api-reference/documents/save-docx-blob.md): Accepts a base64-encoded .docx produced by the browser DOCX instance and writes it to object storage, replacing the previous blob in-place. - [Update a collaborator's role](https://developers.myhero.so/api-reference/documents/update-collaborator-role.md): Changes the role of a collaborator on a single document. - [Update document settings](https://developers.myhero.so/api-reference/documents/update-document-settings.md): Applies a partial settings update to the document identified by `documentId`. - [Update many documents](https://developers.myhero.so/api-reference/documents/update-documents-many.md): Updates metadata (name, parentId, icon, published settings, etc.) for one or more documents in a single call. - [Export to PDF](https://developers.myhero.so/api-reference/export/convert-doc-to-pdf.md): Converts one or more base64-encoded DOCX files to PDF via LibreOffice and returns the results as base64-encoded PDF strings. - [Retrieve export data for documents](https://developers.myhero.so/api-reference/export/get-export-documents-data.md): Assembles full export payloads for the requested `documentIds` within a project. - [Begin OAuth authorization](https://developers.myhero.so/api-reference/integrations/begin-authorize.md): Initiates the OAuth authorization flow for the specified `provider` (e.g. `gmail`, `google_drive`). - [Disconnect an integration](https://developers.myhero.so/api-reference/integrations/disconnect-integration.md): Revokes and removes the OAuth connection for the specified `provider` from the authenticated user's account. - [Handle OAuth callback](https://developers.myhero.so/api-reference/integrations/handle-integration-callback.md): Receives the OAuth authorization callback from the provider, exchanges the `code` and `state` for tokens, and responds with an HTML bounce page that JS-redirects the user back to the web or desktop app. - [List connected integrations](https://developers.myhero.so/api-reference/integrations/list-integrations.md): Returns all OAuth integration connections for the authenticated user. - [Download Claude Desktop extension](https://developers.myhero.so/api-reference/mcp/mcp-download-claude-desktop-extension.md): Downloads the HERO Claude Desktop Extension package (`hero.dxt`) as an `application/zip` binary. - [Terminate an MCP session](https://developers.myhero.so/api-reference/mcp/mcp-http-delete.md): Terminates the active MCP session identified by the required `mcp-session-id` header, freeing server-side resources. - [Open an MCP server-sent event stream](https://developers.myhero.so/api-reference/mcp/mcp-http-get.md): Opens a server-sent event stream for an existing MCP session identified by the required `mcp-session-id` header. - [Send a JSON-RPC request to the MCP server](https://developers.myhero.so/api-reference/mcp/mcp-http-post.md): Implements the MCP Streamable HTTP transport (spec 2025-03-26). - [Redirect to MCP install deeplink](https://developers.myhero.so/api-reference/mcp/mcp-install-client.md): Issues a 302 redirect to the client-specific deeplink URL for installing the HERO MCP server (e.g. `cursor`, `vscode`). - [Invoke an MCP tool](https://developers.myhero.so/api-reference/mcp/mcp-invoke-tool.md): Executes the MCP tool identified by `toolName` with the key-value `args` map provided in the request body. - [List MCP tools](https://developers.myhero.so/api-reference/mcp/mcp-list-tools.md): Returns the catalog of MCP tools available to the authenticated user along with system `instructions`. - [Connect via legacy SSE transport](https://developers.myhero.so/api-reference/mcp/mcp-sse-connect.md): Opens a server-sent event stream using the legacy MCP SSE transport. - [Post a message to a legacy SSE session](https://developers.myhero.so/api-reference/mcp/mcp-sse-message.md): Delivers a JSON-RPC message to an active legacy SSE session identified by the `sessionId` query parameter. - [Upload an audio file](https://developers.myhero.so/api-reference/media/create-audio.md): Uploads an audio asset (mp3/wav/m4a/ogg/aac up to 50MB) and stores its metadata. - [Store an HTML block document](https://developers.myhero.so/api-reference/media/create-html.md): Stores one version of an HTML block's document (up to 512 KB) for the document `documentId`, and returns its `_id`. - [Upload an image](https://developers.myhero.so/api-reference/media/create-image.md): Uploads an image asset and stores its metadata. - [Upload a video](https://developers.myhero.so/api-reference/media/create-video.md): Uploads a video asset (mp4/webm/quicktime up to 100MB) and stores its metadata. - [Delete an image](https://developers.myhero.so/api-reference/media/delete-image.md): Deletes the image record identified by `imageId` and removes it from object storage. - [Copy an HTML block document to another document](https://developers.myhero.so/api-reference/media/duplicate-html.md): Copies a stored HTML block version into the document `documentId` (e.g. when a block is pasted there) and returns the copy's `_id`. - [Retrieve audio URL](https://developers.myhero.so/api-reference/media/get-audio-by-id.md): Returns a signed URL for the audio identified by `audioId`. - [Retrieve an HTML block document](https://developers.myhero.so/api-reference/media/get-html-by-id.md): Returns the HTML of a stored HTML block version as JSON. - [Get an HTML block's render URL](https://developers.myhero.so/api-reference/media/get-html-render-url.md): Returns the API-relative `path` an HTML block renders from: a page for an iframe, signed for one hour. - [Retrieve image URL](https://developers.myhero.so/api-reference/media/get-image-by-id.md): Returns a signed URL for the image identified by `imageId`. - [Retrieve video URL](https://developers.myhero.so/api-reference/media/get-video-by-id.md): Returns a signed URL for the video identified by `videoId`. - [Render an HTML block](https://developers.myhero.so/api-reference/media/render-html.md): Serves a stored HTML block as a page for a sandboxed iframe, from a URL issued by `GET /media/html/{htmlId}/render-url`. - [Replace image content](https://developers.myhero.so/api-reference/media/update-image.md): Replaces the binary content of an existing image in object storage and refreshes its signed URL. - [List organizations](https://developers.myhero.so/api-reference/organizations/get-all-organizations.md): Returns all organizations the authenticated user is a member of, including personal and shared organizations. - [Retrieve an organization](https://developers.myhero.so/api-reference/organizations/get-organization-by-id.md): Returns the full organization document for `orgId`. - [Retrieve default organization](https://developers.myhero.so/api-reference/organizations/get-user-default-organization.md): Returns the authenticated user's personal (default) organization, or `null` if none has been created yet. - [Copy projects to a location](https://developers.myhero.so/api-reference/projects/create-pasted-projects.md): Creates deep copies of one or more projects (and all their documents) into the target workspace or project. - [Create a project](https://developers.myhero.so/api-reference/projects/create-project.md): Creates a new project inside the specified workspace. - [Delete projects](https://developers.myhero.so/api-reference/projects/delete-many-projects.md): Soft-deletes multiple projects supplied as a comma-separated list of IDs in the path. - [Delete a project](https://developers.myhero.so/api-reference/projects/delete-project.md): Soft-deletes a project by setting `isDeleted: true` and asynchronously cleans up its inner data. - [List all projects the user can access](https://developers.myhero.so/api-reference/projects/get-all-user-projects.md): Returns a lean list (`_id`, `name`, `icon`, `reference`, `workspaceId`) of every project the caller can access across all of their workspaces. - [Retrieve project initial data](https://developers.myhero.so/api-reference/projects/get-project-initial-data.md): Returns the full aggregated payload needed to initialize the project view, including documents, tables, rows, columns, cells, and blocks for `projectId`. - [Retrieve project tree data](https://developers.myhero.so/api-reference/projects/get-project-tree-data.md): Returns the project metadata and its flat list of documents in a single response. - [List projects in a workspace](https://developers.myhero.so/api-reference/projects/get-projects-in-workspace.md): Returns all projects the caller has access to within the given `workspaceId`. - [Retrieve a project](https://developers.myhero.so/api-reference/projects/get-single-project.md): Retrieves a single project by `projectId`. - [Update a project](https://developers.myhero.so/api-reference/projects/update-project.md): Updates one or more metadata fields (`name`, `description`, `reference`, `icon`, `emoji`) for the given project. - [Authenticate to a published doc](https://developers.myhero.so/api-reference/published/authenticate-published-document.md): Validates a viewer's password against a password-protected published portal. - [Retrieve published dashboard info](https://developers.myhero.so/api-reference/published/get-published-dashboard-info.md): Returns the list of published documents, their publishers' profiles, project branding, and configured published domains for `projectId`. - [Retrieve a published document](https://developers.myhero.so/api-reference/published/get-published-document-data.md): Returns the ProseMirror content and metadata for a single published document identified by `publishedId`. - [List published domains](https://developers.myhero.so/api-reference/published/get-published-domains.md): Returns the project document with its `published` domain array for `projectId`. - [Retrieve published homepage ID](https://developers.myhero.so/api-reference/published/get-published-homepage.md): Resolves the portal slug from the request and returns the `homepageId` of its first published domain. 404 when the portal has no homepage configured. - [Retrieve a published HTML block document](https://developers.myhero.so/api-reference/published/get-published-html.md): Returns, as JSON, the HTML of an HTML block on the published document `publishedId`. - [Get a published HTML block's render URL](https://developers.myhero.so/api-reference/published/get-published-html-render-url.md): Returns the API-relative `path` an HTML block on the published document `publishedId` renders from, signed for one hour. - [Retrieve a published media file](https://developers.myhero.so/api-reference/published/get-published-media.md): Streams the raw image bytes for `imageId` attached to the published document `publishedId`. - [Retrieve branding for the current portal](https://developers.myhero.so/api-reference/published/get-published-portal-branding.md): Returns the `company`, `callToAction` and `socials` branding for the portal resolved from the request host. - [Retrieve published project data for the current portal](https://developers.myhero.so/api-reference/published/get-published-portal-data.md): Returns the project-level aggregate data (`projectData`) for the portal resolved from the request host, plus the ancestor `FOLDER` documents of every published page (`navFolders`) and the portal's own identity (`domainSlug`, `projectDefaultSlug`) so a client can build a folder-grouped nav scoped to… - [Retrieve published project branding](https://developers.myhero.so/api-reference/published/get-published-project-branding.md): Returns the `company`, `callToAction` and `socials` branding for the project that owns the given `publishedId` (or the slug-resolved portal when `publishedId` is `home`). - [Retrieve published project data](https://developers.myhero.so/api-reference/published/get-published-project-initial-data.md): Returns the project-level aggregate data (`projectData`) for the portal that owns the given `publishedId`. - [Retrieve a published tooltip](https://developers.myhero.so/api-reference/published/get-published-tooltip.md): Returns the title and ProseMirror content for a term-definition or clause-reference block identified by `tooltipId`. - [Check if a slug is available on a published domain](https://developers.myhero.so/api-reference/published/get-slug-availability.md): Returns whether the given `slug` is available for use on the given `domainSlug`. - [Publish or unpublish documents](https://developers.myhero.so/api-reference/published/publish-documents.md): Back-compatible wrapper around `POST /published/publish-state` (`target: "document", state: isPublished ? "on" : "off"`). `isPublished: true` publishes; `isPublished: false` writes a persistent explicit `publishState: "off"` on each document, so a caller that unpublishes on a schedule accumulates pe… - [Publish or unpublish a page, folder, or project](https://developers.myhero.so/api-reference/published/set-publish-state.md): Sets the explicit publish state on the supplied targets and re-materialises `isPublished` across the project. - [Update published branding](https://developers.myhero.so/api-reference/published/update-published-branding.md): Updates the company info, call-to-action and social links stored on a project's published portal. - [Update published document settings](https://developers.myhero.so/api-reference/published/update-published-doc-settings.md): Persists per-document published settings — custom styling key/value pairs and the `domainSlug` — for the document identified by `publishedId`. - [Update a published domain](https://developers.myhero.so/api-reference/published/update-published-domain.md): Updates the slug, password, disabled state, or homepage document for the domain identified by `slug`. - [List referenced rows for a document](https://developers.myhero.so/api-reference/references/get-referenced-rows-by-document-id.md): Returns all `ReferencedRowInDocument` records associated with the specified `documentId`. - [Retrieve referenced rows by IDs](https://developers.myhero.so/api-reference/references/get-referenced-rows-in-document-by-ids.md): Bulk-fetches `ReferencedRowInDocument` records for the IDs supplied in `data`. - [Update a referenced row ID](https://developers.myhero.so/api-reference/references/update-referenced-row-in-document.md): Updates the `rowId` on an existing `ReferencedRowInDocument` record identified by the `tableId` + `documentId` + `workspaceId` combination. - [Upsert a referenced row](https://developers.myhero.so/api-reference/references/upsert-referenced-row-in-document.md): Creates or updates a record linking a table row to a document. - [Agree to sign electronically](https://developers.myhero.so/api-reference/signatures/consent-signature-guest.md): Public, with a signature-guest-token. - [Send several documents for signature at once](https://developers.myhero.so/api-reference/signatures/create-signature-batch.md): Any number of documents, each its own request, grouped as one folder in each signer's portal. - [Send a document for signature](https://developers.myhero.so/api-reference/signatures/create-signature-request.md): Sends the document to people outside the workspace to sign from an emailed link, without an account. - [Decline to sign](https://developers.myhero.so/api-reference/signatures/decline-signature-guest.md): Public, with a signature-guest-token. - [Fill in a field](https://developers.myhero.so/api-reference/signatures/fill-signature-guest-field.md): Public, with a signature-guest-token. - [Retrieve signature audit trail](https://developers.myhero.so/api-reference/signatures/get-document-signature-audit.md): Returns every signature audit record for a document, oldest first, including those superseded by a later version. - [A project's signature requests, signers and portal](https://developers.myhero.so/api-reference/signatures/get-project-signatures.md): Every signature request the project has sent, newest first; the people they went to, with whether each has agreed to sign electronically and when they were last seen; and the signing portal's settings. - [What a signing link opens to](https://developers.myhero.so/api-reference/signatures/get-signature-guest-link.md): Public. - [A signer's documents in a project](https://developers.myhero.so/api-reference/signatures/get-signature-guest-portal.md): Public, with a signature-guest-token. - [A file or clause the document links to](https://developers.myhero.so/api-reference/signatures/get-signature-guest-reference.md): Public, with a signature-guest-token. - [The document a recipient signs](https://developers.myhero.so/api-reference/signatures/get-signature-guest-request.md): Public, with a signature-guest-token. - [What a sign-in link opens to](https://developers.myhero.so/api-reference/signatures/get-signature-sign-in-link.md): Public. - [Empty variables recipients could fill in](https://developers.myhero.so/api-reference/signatures/list-signature-request-fields.md): The document's variables that are empty now and that a recipient could fill in from a form — one per cell, however many places show it. `rowId` is null when the document has no row of that table yet; sending a field like that adds one. - [List a document's signature requests](https://developers.myhero.so/api-reference/signatures/list-signature-requests.md): The document's signature requests, newest first: who each went to, which signature blocks are theirs, and how far each recipient has got. - [What a batch would send](https://developers.myhero.so/api-reference/signatures/preview-signature-batch.md): For each document: its name, its unsigned signature blocks named as the editor names them, the empty variables a recipient could fill in, and why it can't be sent if it can't (out for signature already, fully signed, not a HERO document, no edit access). - [Remove a recipient's access to a signed document](https://developers.myhero.so/api-reference/signatures/remove-signature-recipient-access.md): Takes a request that is no longer out — completed, declined, cancelled or expired — out of the recipient's signing portal; its link stops opening it. - [Remove a signer from the signing portal](https://developers.myhero.so/api-reference/signatures/remove-signer-access.md): Ends every session the address has in the project's portal, remembered devices included, and takes every document no longer out out of it. - [Replace an expired sign-in link](https://developers.myhero.so/api-reference/signatures/renew-signature-sign-in-link.md): Public. - [Email a sign-in link to a signing portal](https://developers.myhero.so/api-reference/signatures/request-signature-sign-in-link.md): Public. - [Send a recipient a new link](https://developers.myhero.so/api-reference/signatures/resend-signature-request.md): Emails the recipient a new link. - [Email a fresh link](https://developers.myhero.so/api-reference/signatures/send-signature-fresh-link.md): Public. - [Sign a signature block](https://developers.myhero.so/api-reference/signatures/sign-document-block.md): Signs one signature block. - [Sign in to a signing portal](https://developers.myhero.so/api-reference/signatures/sign-in-signature-guest.md): Public. - [Sign as a recipient](https://developers.myhero.so/api-reference/signatures/sign-signature-guest.md): Public, with a signature-guest-token. - [Change the signing portal's settings](https://developers.myhero.so/api-reference/signatures/update-signing-portal-settings.md): Turns the portal on or off (off: each emailed link opens only its own document), sets how many days a signer's device may stay signed in (0 never), and the note added to the disclosure — changing the note asks every signer to agree again. - [Open a signing session](https://developers.myhero.so/api-reference/signatures/verify-signature-guest.md): Public. - [Start a new version of a signed document](https://developers.myhero.so/api-reference/signatures/void-document-signatures.md): Saves the signed version to version history with its signatures and audit trail intact, then continues the live document as a new version whose signature blocks start unsigned, and unlocks it for editing. - [Cancel a signature request](https://developers.myhero.so/api-reference/signatures/void-signature-request.md): Cancels a request that is still out. - [Withdraw consent to sign electronically](https://developers.myhero.so/api-reference/signatures/withdraw-signature-guest-consent.md): Public, with a signature-guest-token. - [Add a snapshot comment](https://developers.myhero.so/api-reference/snapshots/add-snapshot-comment.md): Appends a new comment to the snapshot's `comments` array. - [Create a snapshot](https://developers.myhero.so/api-reference/snapshots/create-snapshot.md): Captures the current Y.js state of a document as a restorable snapshot. - [Delete a snapshot](https://developers.myhero.so/api-reference/snapshots/delete-snapshot.md): Permanently deletes the snapshot. - [Delete a snapshot comment](https://developers.myhero.so/api-reference/snapshots/delete-snapshot-comment.md): Removes a comment from a snapshot. - [Update a snapshot comment](https://developers.myhero.so/api-reference/snapshots/edit-snapshot-comment.md): Replaces the text of a snapshot comment. - [Retrieve a snapshot](https://developers.myhero.so/api-reference/snapshots/get-snapshot-by-id.md): Returns a single snapshot including the full Y.js-encoded `state` binary, suitable for rendering or restoring the document at that point in time. - [List snapshots for a document](https://developers.myhero.so/api-reference/snapshots/get-snapshots-by-document-id.md): Returns all snapshots for the given document, sorted newest-first. - [Record that a version was restored](https://developers.myhero.so/api-reference/snapshots/restore-snapshot.md): Reports that this saved version has been rolled back to, so `document.restoreVersion` automations fire. - [Rename a snapshot](https://developers.myhero.so/api-reference/snapshots/update-snapshot-name.md): Sets a new `name` for the snapshot. - [Update a snapshot](https://developers.myhero.so/api-reference/snapshots/update-snapshot-partial.md): Updates a snapshot's `name`, `description`, or both. - [Subscribe to an event](https://developers.myhero.so/api-reference/subscriptions/create-webhook-subscription.md): Registers a URL to be POSTed whenever the named event happens in the workspace. - [Unsubscribe](https://developers.myhero.so/api-reference/subscriptions/delete-webhook-subscription.md) - [List your event subscriptions](https://developers.myhero.so/api-reference/subscriptions/list-webhook-subscriptions.md) - [Apply a compiled formula to every row](https://developers.myhero.so/api-reference/tables/apply-computed-column.md): Persists the compiled formula on the column and computes it for every row in the table. - [Compile a natural-language formula description](https://developers.myhero.so/api-reference/tables/compile-computed-column.md): Translates the column's natural-language description into a validated expression tree and previews it against the first rows of the table. - [Turn a described rule into relation filter conditions](https://developers.myhero.so/api-reference/tables/compose-column-filter.md): Translates a plain-language description of which rows a relation may point at into validated filter conditions. - [Create a column](https://developers.myhero.so/api-reference/tables/create-column.md): Adds a new typed column to the given table and creates blank cells for every existing row. - [Duplicate pasted table references](https://developers.myhero.so/api-reference/tables/create-pasted-table-references.md): Re-creates table references for a document block that was pasted into `documentId`. - [Create a row](https://developers.myhero.so/api-reference/tables/create-row.md): Appends a new row to the given table and creates a cell for every existing column. - [Create a table](https://developers.myhero.so/api-reference/tables/create-table.md): Creates a new table inside the given project. - [Create tables from a spreadsheet](https://developers.myhero.so/api-reference/tables/create-table-from-csv.md): Parses a CSV, TSV, or XLSX file (provided as a base64-encoded string in `csvData`) and creates one table per sheet. - [Create a table reference](https://developers.myhero.so/api-reference/tables/create-table-reference.md): Links a table column into a document, optionally binding it to a specific row. - [Delete a column](https://developers.myhero.so/api-reference/tables/delete-column.md): Permanently deletes a column and all its cells. - [Delete a row](https://developers.myhero.so/api-reference/tables/delete-row.md): Permanently deletes a row and all its cells. - [Delete a table](https://developers.myhero.so/api-reference/tables/delete-table.md): Permanently deletes the table and all its associated rows, columns, and cells. - [List tables in a project](https://developers.myhero.so/api-reference/tables/get-all-tables-by-project-id.md): Returns all table documents the authenticated user can access within the given project. - [List table IDs in a project](https://developers.myhero.so/api-reference/tables/get-all-tables-ids-by-project-id.md): Returns the `_id` of every table in the given project, ordered newest-first. - [Retrieve multiple cells](https://developers.myhero.so/api-reference/tables/get-cells-by-ids.md): Accepts an array of cell IDs and returns the subset the caller can access. - [Retrieve multiple columns](https://developers.myhero.so/api-reference/tables/get-columns-by-ids.md): Accepts an array of column IDs and returns the subset belonging to tables the caller can access. - [List who can reach a row](https://developers.myhero.so/api-reference/tables/get-row-access.md): Returns everyone who can currently reach the row, and the document-level viewers in the project who cannot. - [List who can reach a set of rows](https://developers.myhero.so/api-reference/tables/get-row-access-many.md): Returns everyone who can reach at least one of the rows, and the document-level viewers in the project who can reach none. - [List who reaches each of a set of rows](https://developers.myhero.so/api-reference/tables/get-row-access-summary.md): Returns, per row, the ids of everyone who can reach it, plus each of those people once with their display name. - [List cells in a row](https://developers.myhero.so/api-reference/tables/get-row-cells.md): Returns all cells belonging to a specific row. - [Retrieve row permissions](https://developers.myhero.so/api-reference/tables/get-row-permissions.md): Returns the caller's highest effective role for the given row and a `canEdit` flag indicating whether the user may write to cells in that row. - [Retrieve permissions for many rows](https://developers.myhero.so/api-reference/tables/get-row-permissions-batch.md): Returns a map of rowId to the caller's effective permissions for that row. - [Retrieve multiple rows](https://developers.myhero.so/api-reference/tables/get-rows-by-ids.md): Accepts an array of row IDs and returns the subset the caller can access. - [Retrieve a table](https://developers.myhero.so/api-reference/tables/get-table-by-id.md): Returns a single table document. - [Retrieve a cell](https://developers.myhero.so/api-reference/tables/get-table-cell.md): Returns a single cell document including its typed `data` value. - [List cells in a table](https://developers.myhero.so/api-reference/tables/get-table-cells.md): Returns all cells for the given table that the caller can access. - [Retrieve a column](https://developers.myhero.so/api-reference/tables/get-table-column.md): Returns a single column document including its data type and type-specific options. - [List columns in a table](https://developers.myhero.so/api-reference/tables/get-table-columns.md): Returns all column documents for the given table, including their types and type-specific options. - [List the people a table's person column can name](https://developers.myhero.so/api-reference/tables/get-table-people.md): Returns the workspace's owner, admins and members, then everyone collaborating on a document in the table's project, each with their role — workspace members first, then by name. - [Retrieve table permissions](https://developers.myhero.so/api-reference/tables/get-table-permissions.md): Returns the caller's highest effective role (`owner`, `admin`, `member`, `editor`, or `viewer`) for the given table, together with whether access is granted via workspace membership and the list of referencing document IDs. - [Retrieve a table reference](https://developers.myhero.so/api-reference/tables/get-table-reference-by-id.md): Returns a single table reference document. - [List table references in a document](https://developers.myhero.so/api-reference/tables/get-table-references-by-document-id.md): Returns all table references embedded in the given document. - [Retrieve multiple table references](https://developers.myhero.so/api-reference/tables/get-table-references-by-ids.md): Accepts an array of table reference IDs and returns matching documents. - [Retrieve a row](https://developers.myhero.so/api-reference/tables/get-table-row.md): Returns a single row document. - [List rows in a table](https://developers.myhero.so/api-reference/tables/get-table-rows.md): Returns rows the caller can access within the given table. - [Retrieve multiple tables](https://developers.myhero.so/api-reference/tables/get-tables-by-ids.md): Accepts an array of table IDs and returns the subset the caller can access. - [Retrieve a window of a table's cells](https://developers.myhero.so/api-reference/tables/get-windowed-cells.md): Returns the cells for the given rows, plus the cells that can name a row anywhere in the table — identifier cells and one-to-many relation cells. - [Grant a user access to a row](https://developers.myhero.so/api-reference/tables/grant-row-access.md): Grants a document-level user an editor or viewer role on a single row, independent of whether any document references it. - [Grant a user access to a set of rows](https://developers.myhero.so/api-reference/tables/grant-row-access-many.md): Grants a document-level user the same editor or viewer role on every row given, independent of whether any document references them. - [Preview the tables a spreadsheet would create](https://developers.myhero.so/api-reference/tables/preview-table-from-csv.md): Parses a CSV, TSV, or XLSX file and reports, per sheet, the column headers, the type inferred for each column, and the first few rows — without creating anything. - [Revoke a user's row access](https://developers.myhero.so/api-reference/tables/revoke-row-access.md): Removes a direct row grant. - [Revoke a user's access to a set of rows](https://developers.myhero.so/api-reference/tables/revoke-row-access-many.md): Removes the user's direct grant from every row given. - [Update a cell](https://developers.myhero.so/api-reference/tables/update-cell.md): Updates the `value` of a single cell. - [Update a column](https://developers.myhero.so/api-reference/tables/update-column.md): Updates a column's `name`, `description`, data `type`, or type-specific options (`number`, `oneMany`, `selectItems`). When renaming, all table references that display this column's name are updated automatically. Returns 409 on a duplicate name within the same table. - [Update a table](https://developers.myhero.so/api-reference/tables/update-table.md): Updates a table's `name`, `description`, `columns` order array, or `icon`. - [Update a table reference](https://developers.myhero.so/api-reference/tables/update-table-reference.md): Updates the `oneToManyColumnId` and/or `oneToManyInstanceIds` of a table reference. - [Copy document templates to a project](https://developers.myhero.so/api-reference/templates/copy-template-documents-to-user.md): Copies up to 10 document templates into a user's project, refreshing all internal IDs in the process. - [Copy project templates to a workspace](https://developers.myhero.so/api-reference/templates/copy-template-projects-to-user.md): Copies one or more project templates into the specified workspace, creating new projects for each. - [Import SEC EDGAR filings as templates](https://developers.myhero.so/api-reference/templates/create-sec-gov-documents.md): Fetches and parses SEC EDGAR `.htm` filing URLs, converts them to Scribe document format, and stores them as document templates. - [List all templates](https://developers.myhero.so/api-reference/templates/get-all-templates.md): Returns all available project templates and document templates in a single response. - [List document templates](https://developers.myhero.so/api-reference/templates/get-document-templates.md): Returns all available document templates. - [List project templates](https://developers.myhero.so/api-reference/templates/get-project-templates.md): Returns all available project templates including their name, icon, emoji, and metadata. - [Retrieve clause tooltip](https://developers.myhero.so/api-reference/tooltips/get-tooltip-clause-reference.md): Returns the tooltip content for a clause reference, including the referenced block's `title`, ProseMirror `content` nodes, and `blockId`. - [Retrieve term tooltip](https://developers.myhero.so/api-reference/tooltips/get-tooltip-term.md): Returns the tooltip content for a term definition identified by `termId`, including a `title` and ProseMirror `content` array. - [List TTS voices and styles](https://developers.myhero.so/api-reference/tts/get-tts-voices.md): Returns the available text-to-speech voices (`key`, display `name`, `gender`), the style presets (`key`, `label`), the defaults, and `maxChunkBytes`, the largest text accepted per synthesis request. - [Synthesize conversational speech (deprecated)](https://developers.myhero.so/api-reference/tts/synthesize-conversational.md): Deprecated: use `synthesizeSpeechAudio`. - [Synthesize speech](https://developers.myhero.so/api-reference/tts/synthesize-speech.md): Generates text-to-speech audio for the given `text` and returns it base64-encoded as `{ audioContent, audioConfig, model }`. `voice` is one of the names returned by `getTtsVoices` (case-insensitive, default `Charon`); an unknown voice is rejected. - [Synthesize speech audio](https://developers.myhero.so/api-reference/tts/synthesize-speech-audio.md): Generates speech for one chunk of text (max 900 bytes, see getTtsVoices' maxChunkBytes) and returns raw `audio/mpeg` bytes. - [Create documents from a file tree](https://developers.myhero.so/api-reference/upload/create-uploaded-documents.md): Ingests a nested file-tree map of base64-encoded file contents (`uploaded`) and creates corresponding Scribe documents in the specified workspace or project. - [Validate an embed URL](https://developers.myhero.so/api-reference/upload/validate-embed-url.md): Checks whether the given `url` is safe and suitable for embedding in the editor. - [Create a user account](https://developers.myhero.so/api-reference/users/create-user.md): Creates a new Firebase and database user record from the provided `email` and `password`. - [Retrieve entity owner](https://developers.myhero.so/api-reference/users/get-doc-owner.md): Returns the `CollaboratorUser` who owns the document, project, or workspace identified by `docId`. - [Retrieve own user profile](https://developers.myhero.so/api-reference/users/get-self-user-info.md): Returns the full user document for the authenticated caller, including profile fields and editor settings such as font size, theme, tree ordering, and signature preferences. - [List collaborators](https://developers.myhero.so/api-reference/users/get-user-collaborators.md): Returns all users who share at least one organization or workspace with the authenticated user. - [Retrieve collaborators by IDs or emails](https://developers.myhero.so/api-reference/users/get-user-collaborators-by-ids.md): Looks up users by comma-separated `userIds` and/or `emails` query params and returns the matching `CollaboratorUser` records. - [Complete user onboarding](https://developers.myhero.so/api-reference/users/setup-user-default-data.md): Finalizes account setup for a newly registered user: creates a default organization and workspace, provisions a Stripe customer and billing seat, applies any early-bird coupon, and optionally seeds template projects and sends invitation emails. - [Update user profile](https://developers.myhero.so/api-reference/users/update-user-info.md): Updates one or more profile fields (`firstName`, `lastName`, `pictureUrl`, `avatarId`) for the authenticated user. - [Update user settings](https://developers.myhero.so/api-reference/users/update-user-settings.md): Persists editor and display preferences — font size, theme, tree ordering, selected signature, or custom signature — for the authenticated user. - [Update a collaborator's workspace role](https://developers.myhero.so/api-reference/workspaces/change-workspace-user-role.md): Changes the role of a workspace collaborator identified by `userId`. - [Create a workspace](https://developers.myhero.so/api-reference/workspaces/create-workspace.md): Creates a new workspace under the authenticated user's default organization. - [Delete a workspace](https://developers.myhero.so/api-reference/workspaces/delete-workspace.md): Soft-deletes the workspace and all of its projects. - [List workspaces](https://developers.myhero.so/api-reference/workspaces/get-all-user-workspaces.md): Returns all workspaces the authenticated user is a member of, across all organizations. - [List workspaces in an organization](https://developers.myhero.so/api-reference/workspaces/get-all-user-workspaces-by-org-id.md): Returns all workspaces the authenticated user belongs to within the specified `orgId`. - [Retrieve the default workspace](https://developers.myhero.so/api-reference/workspaces/get-default-workspace.md): Returns the default workspace for the authenticated user's default organization. - [Retrieve a workspace](https://developers.myhero.so/api-reference/workspaces/get-workspace-by-id.md): Retrieves a single workspace by `workspaceId`. - [Retrieve workspace dashboard info](https://developers.myhero.so/api-reference/workspaces/get-workspace-dashboard-info.md): Returns aggregated information for the workspace dashboard, including the workspace record and member profiles. - [Invite a user to a workspace](https://developers.myhero.so/api-reference/workspaces/invite-user-to-workspace.md): Sends a workspace invitation to the given `email` address at the specified `role`. - [Leave a workspace](https://developers.myhero.so/api-reference/workspaces/remove-self-from-workspace.md): Removes the authenticated user from the workspace. - [Remove a user from a workspace](https://developers.myhero.so/api-reference/workspaces/remove-user-from-workspace.md): Removes a collaborator from the workspace. - [Update a workspace](https://developers.myhero.so/api-reference/workspaces/update-workspace.md): Updates the `name` and/or `description` of a workspace. - [Errors](https://developers.myhero.so/errors.md): HERO REST API error response shape and status codes — a JSON envelope with error, message, and details fields, listed by HTTP status. - [Tool catalog](https://developers.myhero.so/mcp/tools/index.md): Full catalog of 118 HERO MCP tools — editor, knowledge, project tree, tables, web, workflows, and integrations (Gmail, Drive, Outlook, OneDrive, Dropbox, Notion). - [Get hero design guide](https://developers.myhero.so/mcp/tools/general/get-hero-design-guide.md): Get the HERO document design guide: a pattern library of copy-ready compositions (hero, feature grid, comparison, steps, FAQ, call to action and more)… - [Get hero writing guide](https://developers.myhero.so/mcp/tools/general/get-hero-writing-guide.md): Get the complete HERO reference: extended markdown DSL, clause depth rules, placeholder usage, legal writing style, reading and writing table rows and… - [Undo last change](https://developers.myhero.so/mcp/tools/general/undo-last-change.md): Undo the most recent change YOU (the AI) made to the user's HERO workspace via these tools — document writes/edits, table changes, document/folder/project… - [Build document map](https://developers.myhero.so/mcp/tools/knowledge/build-document-map.md): WHEN TO USE: You need a structural overview (table of contents, section list, defined terms) without reading full content. Build a structural map of a… - [Create clause reference](https://developers.myhero.so/mcp/tools/knowledge/create-clause-reference.md): Create a clause reference record in the database. Returns a clauseReferenceId that you can embed in document content using (in extended Markdown) or as a… - [Explain term definition](https://developers.myhero.so/mcp/tools/knowledge/explain-term-definition.md): Explain a defined term (e.g. "Party", "Effective Date") in a specific document. Returns the definition content. - [Find documents with clause blocks](https://developers.myhero.so/mcp/tools/knowledge/find-documents-with-clause-blocks.md): Find the documents in a project that contain clause blocks (structured legal sections): documents and page, up to 300 per call. - [Get document clauses](https://developers.myhero.so/mcp/tools/knowledge/get-document-clauses.md): Return a document's clause blocks as structured JSON: clauses and page, up to 100 per call. - [Get document maps](https://developers.myhero.so/mcp/tools/knowledge/get-document-maps.md): Build document maps (sections + terms) for the documents in a project, sorted by name. Useful for cross-document search. Returns documents ( ) and page… - [Get document metadata](https://developers.myhero.so/mcp/tools/knowledge/get-document-metadata.md): Get metadata for a specific document: name, type, description, collaborators, timestamps, parent folder, published status. - [Get section by numbering](https://developers.myhero.so/mcp/tools/knowledge/get-section-by-numbering.md): Find a clause section by its numbering (e.g. "1.1", "22.1"). Returns numbering, title, depth, and its content. The narrowest way to read one clause … - [Get section titles](https://developers.myhero.so/mcp/tools/knowledge/get-section-titles.md): List clause section titles at a given depth (0 = top-level). Useful for getting a table of contents. Returns titles and page, up to 300 per call. - [Get table schema](https://developers.myhero.so/mcp/tools/knowledge/get-table-schema.md): Get a table's column schema (its fields) by table ID: each column's id, name, type, select option labels, linked table for relations, and which column is… - [List clause blocks for reference](https://developers.myhero.so/mcp/tools/knowledge/list-clause-blocks-for-reference.md): List the clause blocks in a document with their blockId, hierarchy, depth, numbering, and text preview, up to 300 per call. Use this to find the blockId… - [List project documents](https://developers.myhero.so/mcp/tools/knowledge/list-project-documents.md): List the documents (files, subfiles, and external PDFs) in a project, sorted by name. Returns documents (name, id, type, and externalType e.g. 'PDF') and… - [List project folders](https://developers.myhero.so/mcp/tools/knowledge/list-project-folders.md): List the folders in a project, sorted by name: folders and page, up to 300 per call. - [Read document text](https://developers.myhero.so/mcp/tools/knowledge/read-document-text.md): WHEN TO USE: You need to understand content for questions, analysis, or summarization. Works for editor documents and PDFs. Prefer this over… - [Resolve table by name](https://developers.myhero.so/mcp/tools/knowledge/resolve-table-by-name.md): Resolve a table ID from its name within a project. - [Copy documents to](https://developers.myhero.so/mcp/tools/project-tree/copy-documents-to.md): Copy one or more documents/folders into a specific destination folder (or project root). Folders are copied recursively — every nested document and… - [Create document](https://developers.myhero.so/mcp/tools/project-tree/create-document.md): Create a new document (file) or folder in a project. Set type to "FOLDER" for folders, "FILE" for documents. Before writing content into a NEW document… - [Create document batch](https://developers.myhero.so/mcp/tools/project-tree/create-document-batch.md): Create multiple documents/folders in one operation. Useful for scaffolding a project structure. Items are created in order so you can reference earlier… - [Create project](https://developers.myhero.so/mcp/tools/project-tree/create-project.md): Create a new project in the current workspace. - [Delete documents](https://developers.myhero.so/mcp/tools/project-tree/delete-documents.md): Delete one or more documents/folders (and their children). THIS IS DESTRUCTIVE — only call after confirming with the user. - [Delete project](https://developers.myhero.so/mcp/tools/project-tree/delete-project.md): Delete an entire project and all its documents. THIS IS DESTRUCTIVE — only call after confirming with the user. - [Duplicate documents](https://developers.myhero.so/mcp/tools/project-tree/duplicate-documents.md): Duplicate one or more documents/folders in place (same parent, same project). Folders are duplicated recursively — every nested document and subfolder is… - [List project tree](https://developers.myhero.so/mcp/tools/project-tree/list-project-tree.md): Get a project's document tree: folders and files with their parent-child relationships, depth-first. Returns id, name, type, parentId, createdAt… - [List user workspaces](https://developers.myhero.so/mcp/tools/project-tree/list-user-workspaces.md): List all workspaces the current user has access to. Returns each workspace's id, name, and metadata. Use this when the user asks about their workspaces or… - [List workspace projects](https://developers.myhero.so/mcp/tools/project-tree/list-workspace-projects.md): List the projects in a workspace with their names, ids, and timestamps, by name. The result's page says how many there are; pass page.nextOffset to… - [Move document](https://developers.myhero.so/mcp/tools/project-tree/move-document.md): Move a document or folder to a different parent. Omit newParentId to move to project root. - [Move document batch](https://developers.myhero.so/mcp/tools/project-tree/move-document-batch.md): Move multiple documents/folders in one operation. Provide a shared newParentId to move all items to the same folder, or specify a per-item newParentId to… - [Rename document](https://developers.myhero.so/mcp/tools/project-tree/rename-document.md): Rename a document or folder. Names are Title Case words as a reader would say them ("Scope of Work"); a numbering prefix such as "Appendix 1" is a… - [Rename project](https://developers.myhero.so/mcp/tools/project-tree/rename-project.md): Rename an existing project. - [Search documents](https://developers.myhero.so/mcp/tools/project-tree/search-documents.md): Search for documents and folders by name across all workspaces the user has access to, most recently updated first. Returns matches with full path context… - [Search projects](https://developers.myhero.so/mcp/tools/project-tree/search-projects.md): Search for projects by name across all workspaces the user has access to, most recently updated first. Returns each match's _id, name, description… - [Update documents meta batch](https://developers.myhero.so/mcp/tools/project-tree/update-documents-meta-batch.md): Update metadata (icon, name, description, reference) for one or more documents, folders, or projects in a single call. Each item targets either a… - [Append markdown to document](https://developers.myhero.so/mcp/tools/editor/append-markdown-to-document.md): Append content to the END of an existing document. Existing content is PRESERVED — new content is added after it. Use when the user asks to ADD, INSERT… - [Create document snapshot](https://developers.myhero.so/mcp/tools/editor/create-document-snapshot.md): Create a named version/snapshot of a document's current state before making significant edits. Use this before large rewrites or restructures of documents… - [List document blocks](https://developers.myhero.so/mcp/tools/editor/list-document-blocks.md): WHEN TO USE: Before calling patch_document to get block IDs. List the blocks in a document (nested ones included, in document order) with their blockId… - [Patch document](https://developers.myhero.so/mcp/tools/editor/patch-document.md): Surgically edit a document by applying block-level operations. Each operation targets a specific block by its blockId (use list_document_blocks to find… - [Read document content](https://developers.myhero.so/mcp/tools/editor/read-document-content.md): WHEN TO USE: You need raw TipTap JSON for programmatic manipulation. For reading/understanding content, prefer read_document_text instead. Read a… - [Write document markdown](https://developers.myhero.so/mcp/tools/editor/write-document-markdown.md): ⚠️ REPLACES ALL existing content with new Markdown-based content. To ADD content to an existing document, use append_markdown_to_document instead… - [Lookup table columns](https://developers.myhero.so/mcp/tools/placeholders/lookup-table-columns.md): Look up a table's columns by table name or ID. Returns column metadata (columnId, name, type, isIdentifier) so you can decide which columns to use as… - [Lookup table rows](https://developers.myhero.so/mcp/tools/placeholders/lookup-table-rows.md): Find records (rows) in a table and their rowIds, a page at a time. Rows come back in table order, each with its identifier (primary key) value and a… - [Prepare global references](https://developers.myhero.so/mcp/tools/placeholders/prepare-global-references.md): Create GLOBAL references (globalReferenceNode) pinned to ONE SPECIFIC row. Use this when a document must reference MULTIPLE DIFFERENT rows of the same… - [Prepare placeholder references](https://developers.myhero.so/mcp/tools/placeholders/prepare-placeholder-references.md): Create TableReference entries for one or more columns so you can insert placeholderNode nodes in document content. Call this BEFORE generating document… - [Update referenced row](https://developers.myhero.so/mcp/tools/placeholders/update-referenced-row.md): Change which row the placeholders display for a given table in a document. Updates the ReferencedRowInDocument link so all existing placeholderNode nodes… - [Add column](https://developers.myhero.so/mcp/tools/tables-schema/add-column.md): Add a new column (field) to an existing table. Its name must be unique within the table. Existing rows read the new column as empty; nothing is written to… - [Create table](https://developers.myhero.so/mcp/tools/tables-schema/create-table.md): Create a new table (database / spreadsheet) in a project with a name and its columns. The name must be unique in the project and column names unique… - [Delete column](https://developers.myhero.so/mcp/tools/tables-schema/delete-column.md): Delete a column (field) from a table, with its values in every row. DESTRUCTIVE — confirm first. - [Delete table](https://developers.myhero.so/mcp/tools/tables-schema/delete-table.md): Delete a table (database / spreadsheet) with all its columns and rows. Relation links pointing into it (from other tables or its own relation columns) and… - [Diff reference versions](https://developers.myhero.so/mcp/tools/tables-schema/diff-reference-versions.md): Compare two releases of a versioned reference table: the records added, removed, and changed, keyed on the stable key rather than the label. Keyed on the… - [Get table data](https://developers.myhero.so/mcp/tools/tables-schema/get-table-data.md): Read a table's records a page at a time: rows with their cell values, plus the column schema (ids, names, types, select options, links). Pass match to… - [List project tables](https://developers.myhero.so/mcp/tools/tables-schema/list-project-tables.md): List the tables (databases / spreadsheets) in a project, each with its columns: id, name, type, select options, linked table and which column is the… - [List relation candidates](https://developers.myhero.so/mcp/tools/tables-schema/list-relation-candidates.md): List the records (rows) a relation (oneMany) column may link to. With a relation filter this is the narrowed set, which is what the picker offers; without… - [List relation violations](https://developers.myhero.so/mcp/tools/tables-schema/list-relation-violations.md): List the links in a relation (oneMany) column that no longer satisfy the column's filter. Filters change and historical data has to survive that, so such… - [Mark versioned reference set](https://developers.myhero.so/mcp/tools/tables-schema/mark-versioned-reference-set.md): Mark a table as a versioned reference set that is republished periodically — controlled terminology, a citation set, a tax table. versionColumnId says… - [Populate relation](https://developers.myhero.so/mcp/tools/tables-schema/populate-relation.md): Fill the empty cells of an existing relation (oneMany) column by matching a key column on this table against a key column on the linked table — the way to… - [Rename table](https://developers.myhero.so/mcp/tools/tables-schema/rename-table.md): Rename an existing table (database / spreadsheet). - [Report version impact](https://developers.myhero.so/mcp/tools/tables-schema/report-version-impact.md): List the rows in other tables that link to records a reference-table release changed — the question a sponsor asks when terminology is republished… - [Resolve relation as of](https://developers.myhero.so/mcp/tools/tables-schema/resolve-relation-as-of.md): Resolve what a relation into a versioned reference table reads as of a given release — so a document written against an earlier one keeps showing the… - [Set computed](https://developers.myhero.so/mcp/tools/tables-schema/set-computed.md): Turn a table column into a computed ("Formula") column from a plain-language description of a calculation. Reference other columns by wrapping their… - [Update column](https://developers.myhero.so/mcp/tools/tables-schema/update-column.md): Change a table column's name, type, selectOptions, linkedTableId, relation filter or progress options. A new name must be unique within the table… - [Add row](https://developers.myhero.so/mcp/tools/tables-data/add-row.md): Insert ONE new row (record) into a table and fill its cells — use this to write data into a table. For 2+ rows use add_row_batch; to change an existing… - [Add row batch](https://developers.myhero.so/mcp/tools/tables-data/add-row-batch.md): Insert many new rows (records) into a table in one call — bulk-write data into a table, up to 100 rows. Each item in rows maps column names to values, the… - [Batch update column](https://developers.myhero.so/mcp/tools/tables-data/batch-update-column.md): Change one column across every row of a table in one call. "set" writes the same value into every row (text, number, money, checkbox, date, time, select… - [Delete row](https://developers.myhero.so/mcp/tools/tables-data/delete-row.md): Delete a row from a table. DESTRUCTIVE — confirm first. - [Lookup table cells](https://developers.myhero.so/mcp/tools/tables-data/lookup-table-cells.md): Look up cells in a table a page at a time, returning cell IDs and row IDs alongside their values. Pass match to find particular rows and columnNames to… - [Update cells](https://developers.myhero.so/mcp/tools/tables-data/update-cells.md): Edit an existing row (record) of a table: overwrite the given cells, leave the rest. Use this to change or fix data already in a table… - [Create table reference](https://developers.myhero.so/mcp/tools/tables-references/create-table-reference.md): Link a table column (and optionally one row) to a document so the document can show that column's value as a placeholder. The table, column and row must… - [Get document table references](https://developers.myhero.so/mcp/tools/tables-references/get-document-table-references.md): List the table references a document uses: each placeholder's link to a table, column and (optionally) row. - [Fetch url content](https://developers.myhero.so/mcp/tools/web/fetch-url-content.md): Fetch and extract text content from a web URL. Returns clean text from HTML pages. Use this when the user provides a link and wants you to read or use its… - [Search web](https://developers.myhero.so/mcp/tools/web/search-web.md): Search the web for information. Returns results with titles, URLs, and snippets. Use when you need external information or to find a specific page. - [Web cache get meta](https://developers.myhero.so/mcp/tools/web/web-cache-get-meta.md): Get metadata for a cached web document by id (length, title). - [Web cache read chunk](https://developers.myhero.so/mcp/tools/web/web-cache-read-chunk.md): Read a chunk of cached web document HTML by character range. Use iteratively for large documents. - [Web cache read tail](https://developers.myhero.so/mcp/tools/web/web-cache-read-tail.md): Read the last N characters of a cached web document to verify and process tail content. - [Finish with summary](https://developers.myhero.so/mcp/tools/workflows/finish-with-summary.md): Call this when you have completed all requested work. Provide a brief summary of what was done. This signals to the frontend that the agent run is… - [Plan](https://developers.myhero.so/mcp/tools/workflows/plan.md): Create or update an execution plan with numbered steps. Call this BEFORE starting a multi-step task to show the user what you intend to do. You can call… - [Gmail create draft](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-create-draft.md): Create a draft email in the user's Gmail. The draft is saved but NOT sent — the user reviews and sends it themselves. Prefer this over gmail_send_message… - [Gmail get attachment](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-get-attachment.md): Download and read the content of an email attachment from Gmail. Requires the messageId and attachmentId from the attachments list returned by… - [Gmail get message](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-get-message.md): Fetch a single Gmail message with its full body text. Use the id returned by gmail_search. Returns headers, snippet, full plain-text body (capped at 10… - [Gmail get thread](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-get-thread.md): Fetch an entire Gmail conversation thread given a threadId (from gmail_search results). Returns all messages in the thread with their full plain-text… - [Gmail modify labels](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-modify-labels.md): Add or remove Gmail labels on a message. Use the system label ids INBOX, UNREAD, STARRED, TRASH, or a custom label id. Removing UNREAD marks a message… - [Gmail save attachments](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-save-attachments.md) - [Gmail search](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-search.md): Search the user's Gmail using Gmail's native query syntax. Returns message headers + snippets (NOT full bodies). Gmail query examples: … - [Gmail send message](https://developers.myhero.so/mcp/tools/integrations-gmail/gmail-send-message.md): SEND an email from the user's Gmail account immediately. This cannot be undone. Only use this when the instructions explicitly ask to send; otherwise use… - [Drive create file](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-create-file.md): Create a new file in the user's Google Drive with text content. Returns the file id and a link. HERO can only later modify files it created itself. - [Drive create folder](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-create-folder.md): Create a folder in the user's Google Drive. Returns the folder id for use as a parentId. - [Drive get file content](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-get-file-content.md): Fetch the text content of a Drive file. Native Google Docs/Sheets/Slides are exported to plain text/CSV. Text files are fetched directly. PDFs and binary… - [Drive list folder](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-list-folder.md): List files and subfolders directly inside a Google Drive folder. Pass the folder's id, or omit folderId to list the root. - [Drive move file](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-move-file.md): Move a Google Drive file HERO created into a different folder. Call drive_search first if you need the file's current parent — Drive requires the folder… - [Drive search](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-search.md): Search the user's Google Drive using Drive's native query syntax. Returns file metadata only (no content — follow up with drive_get_file_content). Drive… - [Drive update file](https://developers.myhero.so/mcp/tools/integrations-google-drive/drive-update-file.md): Replace the text content of a Google Drive file HERO created. Drive keeps the previous revision, so this is recoverable from the file's version history… - [Outlook create draft](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-create-draft.md): Create a draft email in the user's Outlook mailbox. The draft is saved but NOT sent — the user reviews and sends it themselves. Prefer this over… - [Outlook get attachment](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-get-attachment.md): Download and read the content of an email attachment from Outlook. Requires the messageId and attachmentId from the attachments list returned by… - [Outlook get conversation](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-get-conversation.md): Fetch all Outlook messages in a conversation, sorted chronologically, with full bodies (each capped at 5 KB). Pass the conversationId from outlook_search… - [Outlook get message](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-get-message.md): Fetch a single Outlook message with its full body (capped at 10 KB). Use id from outlook_search. If the message has attachments, returns their IDs and… - [Outlook move message](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-move-message.md): Move an Outlook message to another mail folder. destinationId accepts a folder id or one of the well-known names inbox, archive, deleteditems, junkemail… - [Outlook save attachments](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-save-attachments.md) - [Outlook search](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-search.md): Search the user's Outlook / Microsoft 365 mailbox via Microsoft Graph. Returns message headers + snippets (not full bodies — follow up with… - [Outlook send message](https://developers.myhero.so/mcp/tools/integrations-outlook/outlook-send-message.md): SEND an email from the user's Outlook account immediately. This cannot be undone. Only use this when the instructions explicitly ask to send; otherwise… - [Onedrive create folder](https://developers.myhero.so/mcp/tools/integrations-onedrive/onedrive-create-folder.md): Create a folder in the user's OneDrive. Returns the folder id for use as a parentId. - [Onedrive get file content](https://developers.myhero.so/mcp/tools/integrations-onedrive/onedrive-get-file-content.md): Fetch the text content of a OneDrive file. Only text-like files (text/*, json, xml, javascript) are supported. PDFs, Office docs, and binary formats… - [Onedrive list folder](https://developers.myhero.so/mcp/tools/integrations-onedrive/onedrive-list-folder.md): List files and subfolders directly inside a OneDrive folder. Omit folderId to list the root. - [Onedrive move item](https://developers.myhero.so/mcp/tools/integrations-onedrive/onedrive-move-item.md): Move a OneDrive file or folder into a different folder, optionally renaming it. Pass destinationParentId from onedrive_list_folder or… - [Onedrive search](https://developers.myhero.so/mcp/tools/integrations-onedrive/onedrive-search.md): Search the user's OneDrive for files by name and content. The query is a single free-text string — Graph matches it against filenames, content, and… - [Onedrive upload file](https://developers.myhero.so/mcp/tools/integrations-onedrive/onedrive-upload-file.md): Create or replace a file in the user's OneDrive with text content. Replacing a file keeps the previous version in OneDrive's version history, and a… - [Dropbox create folder](https://developers.myhero.so/mcp/tools/integrations-dropbox/dropbox-create-folder.md): Create a folder in the user's Dropbox. Auto-renames rather than failing if the path is taken. - [Dropbox get file content](https://developers.myhero.so/mcp/tools/integrations-dropbox/dropbox-get-file-content.md): Fetch the text content of a Dropbox file. Only text-like extensions are supported (txt, md, json, csv, log, yml, yaml, html, xml, common code files). PDFs… - [Dropbox list folder](https://developers.myhero.so/mcp/tools/integrations-dropbox/dropbox-list-folder.md): List files and subfolders inside a Dropbox path. Pass empty string for the Dropbox root. - [Dropbox move item](https://developers.myhero.so/mcp/tools/integrations-dropbox/dropbox-move-item.md): Move or rename a file or folder in the user's Dropbox. Both paths are absolute; the destination includes the final name, so moving and renaming are the… - [Dropbox search](https://developers.myhero.so/mcp/tools/integrations-dropbox/dropbox-search.md): Search the user's Dropbox by filename and (for supported text formats) content. Returns file/folder metadata. Follow up with dropbox_get_file_content for… - [Dropbox upload file](https://developers.myhero.so/mcp/tools/integrations-dropbox/dropbox-upload-file.md): Upload a text file to the user's Dropbox. By default an existing file at the same path is left alone and the new file is auto-renamed; set overwrite to… - [Notion append blocks](https://developers.myhero.so/mcp/tools/integrations-notion/notion-append-blocks.md): Append plain-text paragraphs to the end of a Notion page. Existing content is never touched — this only adds. - [Notion create page](https://developers.myhero.so/mcp/tools/integrations-notion/notion-create-page.md): Create a page in the user's Notion workspace, either inside a parent page or as a row in a database. Supply exactly one of parentPageId or… - [Notion get page](https://developers.myhero.so/mcp/tools/integrations-notion/notion-get-page.md): Fetch a Notion page's full content. Walks the top-level blocks and flattens them to plain text. Content is truncated to 15 KB. Use id from notion_search… - [Notion query database](https://developers.myhero.so/mcp/tools/integrations-notion/notion-query-database.md): Query a Notion database with optional filter and sort. Returns rows (each is a Notion page) with their property values. Use this when the user asks for… - [Notion search](https://developers.myhero.so/mcp/tools/integrations-notion/notion-search.md): Search the user's Notion workspace for pages and databases by TITLE. IMPORTANT: Notion's search only matches titles, NOT page content. To search content… - [Notion update page](https://developers.myhero.so/mcp/tools/integrations-notion/notion-update-page.md): Update a Notion page's title, or archive/unarchive it. Archiving is Notion's delete and is reversible by unarchiving. To change a database row's other… - [Changelog](https://developers.myhero.so/changelog.md): Updates to the HERO API. ## OpenAPI Specs - [openapi](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.