# Octave API - [Octave API Documentation](https://docs.octavehq.com/introduction.md): Build AI-powered GTM workflows with the Octave API. Run agents, manage your Library, generate context-aware content, and learn from every customer conversation. - [Quickstart](https://docs.octavehq.com/quickstart.md): Make your first Octave API call in under 5 minutes. Get your API key, run an agent, and see results. - [What is the Octave Library?](https://docs.octavehq.com/concepts/library.md): The Octave Library stores your GTM strategy as interconnected entities that AI agents query at runtime. Learn how it works. - [Downloading your Library](https://docs.octavehq.com/concepts/download-library.md): Export your whole Octave Library — or any subset of entity types — as Markdown or JSON files, from the app or the API. - [What are Offerings in Octave?](https://docs.octavehq.com/concepts/offerings.md): Offerings represent what you sell — Products, Services, and Solutions. Every persona, use case, and motion connects back to one. - [What are Services in Octave?](https://docs.octavehq.com/concepts/services.md): Services are an offering type for everything you sell that isn't a product — consulting, implementation, managed services, advisory work. - [What are Solutions in Octave?](https://docs.octavehq.com/concepts/solutions.md): Solutions are an offering type for packaged answers to a specific problem — combinations of products, services, and methodology sold as one motion. - [What are Core Features in Octave?](https://docs.octavehq.com/concepts/core-features.md): Core Features are the distinctly-named pieces of an offering — nameable, often marketed as their own thing, but not their own go-to-market motion. - [How do Personas work in Octave?](https://docs.octavehq.com/concepts/personas.md): Personas store pain points, goals, and messaging guidance for your target buyers. Agents use them to personalize every interaction. - [What are Use Cases in Octave?](https://docs.octavehq.com/concepts/use-cases.md): Use Cases describe the problems your product solves. Agents match prospects to the right messaging based on their specific scenario. - [What are Segments in Octave?](https://docs.octavehq.com/concepts/segments.md): Segments define target market groups by industry, company size, and other firmographics. Agents use them to tailor messaging and prioritize accounts. - [What are Motions in Octave?](https://docs.octavehq.com/concepts/motions.md): Motions are the GTM strategies your team executes — a complete plan combining an offering, a target market, narrative angles, and persona×segment ICPs that agents read at runtime. - [What are Competitors in Octave?](https://docs.octavehq.com/concepts/competitors.md): Store strengths, weaknesses, win/loss reasons, and differentiation points. Agents use Competitors for competitive positioning. - [What are Alternatives in Octave?](https://docs.octavehq.com/concepts/alternatives.md): Alternatives capture non-product substitutes like manual processes, status quo, or in-house builds. Fight 'do nothing' objections. - [What are Buying Triggers in Octave?](https://docs.octavehq.com/concepts/buying-triggers.md): Buying Triggers are signals like funding rounds, leadership changes, and tech migrations that indicate a prospect is ready to buy. - [What are Objections in Octave?](https://docs.octavehq.com/concepts/objections.md): Objections capture recurring pushback — the underlying concern, the misconceptions behind it, and the response that actually resonates. - [What are Proof Points in Octave?](https://docs.octavehq.com/concepts/proof-points.md): Proof Points are stats, awards, and customer outcomes that validate your product. Agents weave them into messaging to build credibility. - [What are Reference Customers in Octave?](https://docs.octavehq.com/concepts/references.md): References are customer success stories with outcomes and testimonials. Agents cite them in outreach to build trust with similar prospects. - [What are Resources in Octave?](https://docs.octavehq.com/concepts/resources.md): Resources are the URLs, files, and text snippets Octave indexes alongside your Library so agents can ground output in your real content. - [What is Brand Voice in Octave?](https://docs.octavehq.com/concepts/brand-voice.md): Brand Voice captures your company's distinctive writing style — tone, structure, vocabulary, formatting — and applies it consistently to every piece of generated content. - [What are Skills in Octave?](https://docs.octavehq.com/concepts/skills.md): Skills are managed Agent Skills — reusable, versioned methods for GTM deliverables that any connected AI assistant can discover and follow, hosted centrally in your workspace. - [What are Assets in Octave?](https://docs.octavehq.com/concepts/assets.md): Assets are Octave-hosted deliverables — microsites, decks, documents, and file bundles — with privacy controls, email-verified share links, version history, and viewer analytics. - [What are Agents in Octave?](https://docs.octavehq.com/concepts/agents.md): Agents are out-of-the-box AI workflows grounded in your Library and context. Run them as-is, save reusable configurations, or build your own on the raw primitives. - [What are Workflows in Octave?](https://docs.octavehq.com/concepts/workflows.md): Workflows chain Octave agents into multi-step pipelines you trigger as a single async job. Build them visually in the dashboard, run them via API. - [Async execution and callbacks](https://docs.octavehq.com/concepts/async-callbacks.md): How Octave's async endpoints work — submit a job, get an ID, receive results at your callback URL. Used by agents, workflows, and bulk generation. - [How does Octave learn from your conversations?](https://docs.octavehq.com/concepts/analytics.md): Octave analyzes every sales call, email, and deal outcome to surface insights, reports, and findings that keep your GTM strategy in sync with reality. - [What are Custom Extractors in Octave?](https://docs.octavehq.com/concepts/custom-extractors.md): Custom Extractors are workspace-defined finding types: your own prompt, run over the events you choose, producing findings that flow through the same pipeline as Octave's built-in extraction. - [What are Tags and Tag Groups in Octave?](https://docs.octavehq.com/concepts/tags.md): Tag groups are your own reporting dimensions on Library entities, such as company size or objection category. Each entity carries one value per group, and Octave rolls deal outcomes up by value. - [How do Suggestions and Revisions work?](https://docs.octavehq.com/concepts/suggestions.md): Suggestions propose Library updates grounded in real conversation evidence; accepted suggestions become Revisions — a full audit trail of how your strategy evolved and why. - [Entity webhooks](https://docs.octavehq.com/concepts/entity-webhooks.md): Keep integrations in sync with entity changes using signed notifications. - [Credit usage](https://docs.octavehq.com/concepts/credit-usage.md): Read current credit consumption, remaining credits, additional grants, and reset timing. - [Send events from any source](https://docs.octavehq.com/generic-events/overview.md): Push emails, calls, CRM deals and social touches into Octave from n8n, Clay, Make, or your own code - [Octave + Clay](https://docs.octavehq.com/clay/overview.md): Learn how to use Octave's API with Clay to enhance your GTM workflows - [Clay Templates](https://docs.octavehq.com/clay/templates.md): Ready-to-use Clay templates for Octave integration - [Zoom](https://docs.octavehq.com/zoom/overview.md): Send your Zoom cloud recording transcripts to Octave - [Load events from your data warehouse](https://docs.octavehq.com/warehouse-events/overview.md): Backfill GTM history into Octave from S3, GCS, Azure Blob, Snowflake, BigQuery, Redshift or Databricks - [Amazon S3](https://docs.octavehq.com/warehouse-events/s3.md): Generate a deployable pipeline that loads GTM events into Octave from Amazon S3 - [Google Cloud Storage](https://docs.octavehq.com/warehouse-events/gcs.md): Generate a deployable pipeline that loads GTM events into Octave from Google Cloud Storage - [Azure Blob Storage](https://docs.octavehq.com/warehouse-events/azure-blob.md): Generate a deployable pipeline that loads GTM events into Octave from Azure Blob Storage - [Snowflake](https://docs.octavehq.com/warehouse-events/snowflake.md): Generate a deployable pipeline that loads GTM events into Octave from Snowflake - [BigQuery](https://docs.octavehq.com/warehouse-events/bigquery.md): Generate a deployable pipeline that loads GTM events into Octave from BigQuery - [Amazon Redshift](https://docs.octavehq.com/warehouse-events/redshift.md): Generate a deployable pipeline that loads GTM events into Octave from Amazon Redshift - [Databricks](https://docs.octavehq.com/warehouse-events/databricks.md): Generate a deployable pipeline that loads GTM events into Octave from Databricks - [List Agents](https://docs.octavehq.com/v2-api-reference/agents/list-agents.md): List all agents - [List Agent Types](https://docs.octavehq.com/v2-api-reference/agents/list-agent-types.md): List all available agent types with their metadata - [List Languages](https://docs.octavehq.com/v2-api-reference/agents/list-languages.md): List supported languages - [Get Agent](https://docs.octavehq.com/v2-api-reference/agents/get-agent.md): Get Agent by OId - [Create Agent](https://docs.octavehq.com/v2-api-reference/agents/create-agent.md): Create a new agent - [Update Agent](https://docs.octavehq.com/v2-api-reference/agents/update-agent.md): Update an existing agent - [Delete Agent](https://docs.octavehq.com/v2-api-reference/agents/delete-agent.md): Soft delete an Agent by OId. The agent will be marked as deleted but not permanently removed. - [Create Agent Experiment](https://docs.octavehq.com/v2-api-reference/agents/create-agent-experiment.md): Create a new agent experiment - [Enrich Company Agent](https://docs.octavehq.com/v2-api-reference/agents/enrich-company-agent.md): Enrich a company - [Enrich Person Agent](https://docs.octavehq.com/v2-api-reference/agents/enrich-person-agent.md): Enrich a Person - [Content Agent](https://docs.octavehq.com/v2-api-reference/agents/content-agent.md): Provide either `agentOId` or `experimentOId` depending on what you want to run. - Use `agentOId` to run a specific agent. - Use `experimentOId` to run a specific experiment. - [Sequence Agent](https://docs.octavehq.com/v2-api-reference/agents/sequence-agent.md): Provide either `agentOId` or `experimentOId` depending on what you want to run. - Use `agentOId` to run a specific agent. - Use `experimentOId` to run a specific experiment. Only one of them should be set at a time. - [Prospector Agent](https://docs.octavehq.com/v2-api-reference/agents/prospector-agent.md): Find relevant people at a company or lookalike companies - [Qualify Person Agent](https://docs.octavehq.com/v2-api-reference/agents/qualify-person-agent.md): Determine if a person is qualified for a given Product, Persona, and/or Segment - [Qualify Company Agent](https://docs.octavehq.com/v2-api-reference/agents/qualify-company-agent.md): Determine if a company is qualified for a given Product and/or Segment - [Call Prep Agent](https://docs.octavehq.com/v2-api-reference/agents/call-prep-agent.md): Generate call prep content including discovery questions, call scripts, and objection handling - [Context Agent Run](https://docs.octavehq.com/v2-api-reference/agents/context-agent-run.md): Run a preset context agent by agentOId. The agent's configuration (topK, rerank, sources, etc.) is loaded from the database. Runtime input only provides query and optional additionalContext. - [Run Agents](https://docs.octavehq.com/v2-api-reference/async/run-agent.md): Asynchronously run agents by providing the relevant input payload and a `callbackUrl`. Once processing is complete, the result will be sent to your provided callback URL. - [Get Async Agent Run Status](https://docs.octavehq.com/v2-api-reference/async/get-async-agent-run-status.md): Get the current status and result of an async agent run. Use this to poll for completion after starting an agent run via POST /async/agent/run. Recommended polling interval: 5–10 seconds. - [Workspace Builder Agent](https://docs.octavehq.com/v2-api-reference/workspace/build.md): Generate and build a Workspace - [Resolve Profile from Email](https://docs.octavehq.com/v2-api-reference/research/resolve-profile-from-email.md): Resolve a person's LinkedIn profile, title, company, and location from their email (or name + company / LinkedIn URL) using Octave's enrichment data. Supports a confidence threshold and an optional thorough effort mode with LLM validation. Charges credits only when a profile is found at or above the… - [Resolve Email from Profile](https://docs.octavehq.com/v2-api-reference/research/resolve-email-from-profile.md): Resolve the best work email for a person from their LinkedIn profile (or name + company) using Octave's enrichment data, with a deliverability status. The reverse of resolveProfile. Supports a confidence threshold and an optional thorough effort mode. Charges credits only when a deliverable email is… - [List API keys](https://docs.octavehq.com/v2-api-reference/api-key/list-api-keys.md): This endpoint returns a list of API keys. Rate limited to 1000 requests per minute. - [Validate API key](https://docs.octavehq.com/v2-api-reference/api-key/validate-api-key.md): This endpoint validates the API key provided in the header. If the request succeeds, the API key is valid. Rate limited to 1000 requests per minute. - [List entity webhook endpoints](https://docs.octavehq.com/v2-api-reference/entity-webhooks/list-entity-webhook-endpoints.md): Workspace-scoped; requires a workspace owner or Octave admin API key. Read-only keys are supported. Requires read API access. Secrets are never returned. - [Create an entity webhook endpoint](https://docs.octavehq.com/v2-api-reference/entity-webhooks/create-an-entity-webhook-endpoint.md): Workspace-scoped; requires a workspace owner or Octave admin API key. Requires write API access. Signing secrets are returned only on creation or rotation; store them securely. - [Update an entity webhook endpoint](https://docs.octavehq.com/v2-api-reference/entity-webhooks/update-an-entity-webhook-endpoint.md): Workspace-scoped; requires a workspace owner or Octave admin API key. Requires write API access. Signing secrets are returned only on creation or rotation; store them securely. Replaces the endpoint configuration; all configuration fields are required. - [Delete an entity webhook endpoint](https://docs.octavehq.com/v2-api-reference/entity-webhooks/delete-an-entity-webhook-endpoint.md): Workspace-scoped; requires a workspace owner or Octave admin API key. Requires write API access. - [Rotate an entity webhook signing secret](https://docs.octavehq.com/v2-api-reference/entity-webhooks/rotate-an-entity-webhook-signing-secret.md): Workspace-scoped; requires a workspace owner or Octave admin API key. Requires write API access. Signing secrets are returned only on creation or rotation; store them securely. - [Send a test entity webhook](https://docs.octavehq.com/v2-api-reference/entity-webhooks/send-a-test-entity-webhook.md): Workspace-scoped; requires a workspace owner or Octave admin API key. Requires write API access. Sends a signed example event with test: true. The response reports delivery status without exposing the receiver response body. - [Get credit usage](https://docs.octavehq.com/v2-api-reference/credits/get-credit-usage.md): Returns subscription-wide current-period credit usage, included allowance, additional credits, remaining balance, next reset, and overage. Includes in-flight ledger charges and refunds. Additional credits settle at period end; additionalUsed and additionalRemaining estimate their current consumption… - [List motions](https://docs.octavehq.com/v2-api-reference/motion/list-motions.md): List motions for the workspace, optionally filtered by offering - [Get a motion](https://docs.octavehq.com/v2-api-reference/motion/get-a-motion.md): Fetch a single motion by oId - [Create a motion](https://docs.octavehq.com/v2-api-reference/motion/create-a-motion.md): Create a new motion with a default playbook. The offering must pass motion eligibility (status ELIGIBLE). Returns 400 when status is INELIGIBLE or LIBRARY_ADJUSTMENT_REQUIRED. - [Update a motion](https://docs.octavehq.com/v2-api-reference/motion/update-a-motion.md): Update fields on an existing motion - [Delete a motion](https://docs.octavehq.com/v2-api-reference/motion/delete-a-motion.md): Soft-delete a motion and all its ICP cells and learnings - [List motion playbooks](https://docs.octavehq.com/v2-api-reference/motionplaybook/list-motion-playbooks.md): List motion playbooks, optionally filtered by motion, offering, or motion type - [Get a motion playbook](https://docs.octavehq.com/v2-api-reference/motionplaybook/get-a-motion-playbook.md): Fetch a single motion playbook by oId - [Create a motion playbook](https://docs.octavehq.com/v2-api-reference/motionplaybook/create-a-motion-playbook.md): Create a new playbook for an existing motion - [Update a motion playbook](https://docs.octavehq.com/v2-api-reference/motionplaybook/update-a-motion-playbook.md): Update name, active state, or narrative sections of a motion playbook - [Delete a motion playbook](https://docs.octavehq.com/v2-api-reference/motionplaybook/delete-a-motion-playbook.md): Soft-delete a motion playbook - [List Motion ICP cells](https://docs.octavehq.com/v2-api-reference/motionicp/list-motion-icp-cells.md): List all ICP cells for a motion, optionally filtered to a specific playbook. Returns persona, segment, and status for each cell. Use the returned oId with /motion-icp/get to retrieve full details and recommendations. Pass includeStaleness=true (or staleOnly=true) to find the cells whose inputs chang… - [Get Motion ICP detail](https://docs.octavehq.com/v2-api-reference/motionicp/get-motion-icp-detail.md): Get full detail for a Motion ICP cell including the AI-generated narrative and learning count. Use includeReport=true to include the latest report run summary and comparisonWithPrevious. Use GET /api/v2/motion-icp/elements/list to fetch recommended library entities for this cell. - [List recommended elements for a Motion ICP](https://docs.octavehq.com/v2-api-reference/motionicp/list-recommended-elements-for-a-motion-icp.md): Returns the recommended library entities (use cases, proof points, reference customers, competitors, alternatives, buying triggers, objections) linked to a specific Motion ICP cell from its active version. - [List learnings for a Motion ICP](https://docs.octavehq.com/v2-api-reference/motionicp/list-learnings-for-a-motion-icp.md): Returns the current learnings for a specific Motion ICP cell, sorted by pinned status and confidence. - [Get a Motion ICP learning](https://docs.octavehq.com/v2-api-reference/motionicp/get-a-motion-icp-learning.md): Fetch a single learning by oId - [Regenerate a Motion ICP cell](https://docs.octavehq.com/v2-api-reference/motionicp/regenerate-a-motion-icp-cell.md): Generate a new version of one Motion ICP cell from its current inputs and return the updated cell. The request completes when the new version is written, which can take a minute or more. Costs the same credits as updating the cell in the app. Returns 400 when the cell is disabled, its playbook is in… - [Get Product](https://docs.octavehq.com/v2-api-reference/product/get-product.md): Get Product by OId - [List Products](https://docs.octavehq.com/v2-api-reference/product/list-products.md): Lists product-table rows by default (`type=PRODUCT`). With `type=ALL`, returns products, services, and solutions in one paginated result (see response schema). - [Create Product](https://docs.octavehq.com/v2-api-reference/product/create-product.md): Create a new product - [Update Product](https://docs.octavehq.com/v2-api-reference/product/update-product.md): Update an existing product - [Generate Product](https://docs.octavehq.com/v2-api-reference/product/generate-product.md): Generate a product from source materials using AI. Creates and validates the product against usage rules. - [Delete Product](https://docs.octavehq.com/v2-api-reference/product/delete-product.md): Soft delete a Product by OId. The product will be marked as deleted but not permanently removed. - [List Services](https://docs.octavehq.com/v2-api-reference/service/list-services.md): List Services - [Get Service](https://docs.octavehq.com/v2-api-reference/service/get-service.md): Get Service by OId - [Create Service](https://docs.octavehq.com/v2-api-reference/service/create-service.md): Create a new service - [Update Service](https://docs.octavehq.com/v2-api-reference/service/update-service.md): Update an existing service - [Generate Service](https://docs.octavehq.com/v2-api-reference/service/generate-service.md): Generate a service from source materials using AI. Creates and validates the service against usage rules. - [Delete Service](https://docs.octavehq.com/v2-api-reference/service/delete-service.md): Soft delete a Service by OId. The service will be marked as deleted but not permanently removed. - [List Solutions](https://docs.octavehq.com/v2-api-reference/solution/list-solutions.md): List solutions in the workspace - [Get Solution](https://docs.octavehq.com/v2-api-reference/solution/get-solution.md): Get Solution by OId - [Create Solution](https://docs.octavehq.com/v2-api-reference/solution/create-solution.md): Create a new solution from generated output and sources - [Update Solution](https://docs.octavehq.com/v2-api-reference/solution/update-solution.md): Update an existing solution - [Generate Solution](https://docs.octavehq.com/v2-api-reference/solution/generate-solution.md): Generate solution draft content from sources, name, optional library links, and instructions - [Delete Solution](https://docs.octavehq.com/v2-api-reference/solution/delete-solution.md): Soft-delete a solution - [Get Segment](https://docs.octavehq.com/v2-api-reference/segment/get-segment.md): Get Segment by OId - [List segments](https://docs.octavehq.com/v2-api-reference/segment/list-segments.md): List segments with optional filtering and pagination - [Update Segment](https://docs.octavehq.com/v2-api-reference/segment/update-segment.md): Update an existing market segment - [Create Segment](https://docs.octavehq.com/v2-api-reference/segment/create-segment.md): Create a new market segment - [Generate Segments](https://docs.octavehq.com/v2-api-reference/segment/generate-segments.md): Generate market segments from source materials using AI. Each input array generates one segment. Supports text, URLs, and generative names as sources. - [Delete Segment](https://docs.octavehq.com/v2-api-reference/segment/delete-segment.md): Soft delete a Segment by OId. The segment will be marked as deleted but not permanently removed. - [Get Persona](https://docs.octavehq.com/v2-api-reference/persona/get-persona.md): Get Persona by OId - [List persona](https://docs.octavehq.com/v2-api-reference/persona/list-persona.md): List personas by query - [Update Persona](https://docs.octavehq.com/v2-api-reference/persona/update-persona.md): Update an existing persona - [Create Persona](https://docs.octavehq.com/v2-api-reference/persona/create-persona.md): Create a new persona - [Generate Personas](https://docs.octavehq.com/v2-api-reference/persona/generate-personas.md): Generate personas from source materials using AI. Each input array generates one persona. Supports text, URLs, and generative names as sources. - [Delete Persona](https://docs.octavehq.com/v2-api-reference/persona/delete-persona.md): Soft delete a Persona by OId. The persona will be marked as deleted but not permanently removed. - [Get Use Case](https://docs.octavehq.com/v2-api-reference/use-case/get-use-case.md): Get Use Case by OId - [List Use Cases](https://docs.octavehq.com/v2-api-reference/use-case/list-use-cases.md): List Use Cases - [Update Use Case](https://docs.octavehq.com/v2-api-reference/use-case/update-use-case.md): Update an existing use case - [Create Use Case](https://docs.octavehq.com/v2-api-reference/use-case/create-use-case.md): Create a new use case - [Generate Use Cases](https://docs.octavehq.com/v2-api-reference/use-case/generate-use-cases.md): Generate use cases from source materials using AI. Each input array generates one use case. Supports text, URLs, and generative names as sources. - [Delete Use Case](https://docs.octavehq.com/v2-api-reference/use-case/delete-use-case.md): Soft delete a Use Case by OId. The use case will be marked as deleted but not permanently removed. - [Get Reference](https://docs.octavehq.com/v2-api-reference/reference/get-reference.md): Get Reference by OId - [List References](https://docs.octavehq.com/v2-api-reference/reference/list-references.md): List References - [Create Reference](https://docs.octavehq.com/v2-api-reference/reference/create-reference.md): Create a new customer reference - [Update Reference](https://docs.octavehq.com/v2-api-reference/reference/update-reference.md): Update an existing reference - [Generate References](https://docs.octavehq.com/v2-api-reference/reference/generate-references.md): Generate customer references from source materials using AI. Each input array generates one reference. Supports text, URLs, and generative names as sources. - [Delete Reference](https://docs.octavehq.com/v2-api-reference/reference/delete-reference.md): Soft delete a Reference by OId. The reference will be marked as deleted but not permanently removed. - [Get Proof Point](https://docs.octavehq.com/v2-api-reference/proof-point/get-proof-point.md): Get Proof Point by OId - [List proof points](https://docs.octavehq.com/v2-api-reference/proof-point/list-proof-points.md): List proof points with optional filtering and pagination - [Update Proof Point](https://docs.octavehq.com/v2-api-reference/proof-point/update-proof-point.md): Update an existing proof point - [Create Proof Point](https://docs.octavehq.com/v2-api-reference/proof-point/create-proof-point.md): Create a new proof point - [Generate Proof Points](https://docs.octavehq.com/v2-api-reference/proof-point/generate-proof-points.md): Generate proof points from source materials using AI. Each input array generates one proof point. Supports text, URLs, and generative names as sources. - [Delete Proof Point](https://docs.octavehq.com/v2-api-reference/proof-point/delete-proof-point.md): Soft delete a Proof Point by OId. The proof point will be marked as deleted but not permanently removed. - [Get Competitor](https://docs.octavehq.com/v2-api-reference/competitor/get-competitor.md): Get Competitor by OId - [List competitors](https://docs.octavehq.com/v2-api-reference/competitor/list-competitors.md): List competitors with optional filtering and pagination - [Update Competitor](https://docs.octavehq.com/v2-api-reference/competitor/update-competitor.md): Update an existing competitor - [Create Competitor](https://docs.octavehq.com/v2-api-reference/competitor/create-competitor.md): Create a new competitor - [Generate Competitors](https://docs.octavehq.com/v2-api-reference/competitor/generate-competitors.md): Generate competitor analysis from source materials using AI. Each input array generates one competitor analysis. Supports text, URLs, and generative names as sources. - [Delete Competitor](https://docs.octavehq.com/v2-api-reference/competitor/delete-competitor.md): Soft delete a Competitor by OId. The competitor will be marked as deleted but not permanently removed. - [Get Alternative](https://docs.octavehq.com/v2-api-reference/alternative/get-alternative.md): Get Alternative by OId - [List alternatives](https://docs.octavehq.com/v2-api-reference/alternative/list-alternatives.md): List alternatives with optional filtering and pagination - [Create Alternative](https://docs.octavehq.com/v2-api-reference/alternative/create-alternative.md): Create a new alternative (status quo / incumbent / DIY pattern) - [Update Alternative](https://docs.octavehq.com/v2-api-reference/alternative/update-alternative.md): Update an existing alternative - [Generate Alternatives](https://docs.octavehq.com/v2-api-reference/alternative/generate-alternatives.md): Generate status quo / incumbent alternative analysis from source materials using AI. - [Delete Alternative](https://docs.octavehq.com/v2-api-reference/alternative/delete-alternative.md): Soft delete a Alternative by OId. The alternative will be marked as deleted but not permanently removed. - [Get Buying Trigger](https://docs.octavehq.com/v2-api-reference/buying-trigger/get-buying-trigger.md): Get buying trigger by OId - [List buying triggers](https://docs.octavehq.com/v2-api-reference/buying-trigger/list-buying-triggers.md): List buying triggers with optional filtering and pagination - [Create Buying Trigger](https://docs.octavehq.com/v2-api-reference/buying-trigger/create-buying-trigger.md): Create a new buying trigger - [Update Buying Trigger](https://docs.octavehq.com/v2-api-reference/buying-trigger/update-buying-trigger.md): Update an existing buying trigger - [Generate Buying Triggers](https://docs.octavehq.com/v2-api-reference/buying-trigger/generate-buying-triggers.md): Generate buying trigger analysis from source materials using AI. - [Delete Buying Trigger](https://docs.octavehq.com/v2-api-reference/buying-trigger/delete-buying-trigger.md): Soft delete a buying trigger by OId. The buying trigger will be marked as deleted but not permanently removed. - [List core features](https://docs.octavehq.com/v2-api-reference/core-feature/list-core-features.md): List core features with optional filtering and pagination - [Get Core Feature](https://docs.octavehq.com/v2-api-reference/core-feature/get-core-feature.md): Get Core Feature by OId - [Create Core Feature](https://docs.octavehq.com/v2-api-reference/core-feature/create-core-feature.md): Create a new core feature under a parent offering - [Update Core Feature](https://docs.octavehq.com/v2-api-reference/core-feature/update-core-feature.md): Update an existing core feature - [Generate Core Features](https://docs.octavehq.com/v2-api-reference/core-feature/generate-core-features.md): Generate named-capability core feature analysis from source materials using AI. Each generated core feature is attached to the provided parent offering. - [Delete Core Feature](https://docs.octavehq.com/v2-api-reference/core-feature/delete-core-feature.md): Soft delete a Core Feature by OId. The core feature will be marked as deleted but not permanently removed. - [List objections](https://docs.octavehq.com/v2-api-reference/objection/list-objections.md): List objections with optional filtering and pagination - [Get Objection](https://docs.octavehq.com/v2-api-reference/objection/get-objection.md): Get objection by OId - [Create Objection](https://docs.octavehq.com/v2-api-reference/objection/create-objection.md): Create a new objection - [Update Objection](https://docs.octavehq.com/v2-api-reference/objection/update-objection.md): Update an existing objection - [Generate Objections](https://docs.octavehq.com/v2-api-reference/objection/generate-objections.md): Generate objection handling content from source materials using AI. - [Delete Objection](https://docs.octavehq.com/v2-api-reference/objection/delete-objection.md): Soft delete an objection by OId. The objection will be marked as deleted but not permanently removed. - [List Brand Voices](https://docs.octavehq.com/v2-api-reference/brand-voice/list-brand-voices.md): List all brand voices in the workspace - [Get Brand Voice](https://docs.octavehq.com/v2-api-reference/brand-voice/get-brand-voice.md): Get Brand Voice by OId - [Create Brand Voice](https://docs.octavehq.com/v2-api-reference/brand-voice/create-brand-voice.md): Create a new brand voice from explicit/literal data (use generate endpoint for AI-powered creation from sources) - [Update Brand Voice](https://docs.octavehq.com/v2-api-reference/brand-voice/update-brand-voice.md): Update an existing brand voice - [Generate Brand Voice](https://docs.octavehq.com/v2-api-reference/brand-voice/generate-brand-voice.md): Generate and create brand voice from sources using AI - [Apply Brand Voice](https://docs.octavehq.com/v2-api-reference/brand-voice/apply-brand-voice.md): Apply brand voice transformation to sources. Uses default brand voice if none specified. Credits: NOTE=5, PULSE=10, ECHO=20, HARMONY=30 per source. - [Toggle Default Brand Voice](https://docs.octavehq.com/v2-api-reference/brand-voice/toggle-default-brand-voice.md): Toggle a brand voice as the workspace default. If already default, it will be unset. If not default, it will be set as default (unsetting any existing default). - [Download Library](https://docs.octavehq.com/v2-api-reference/library/download-library.md): Exports active workspace library entities as files. With more than one entity the response is a ZIP archive with one folder per entity type (personas/, segments/, competitors/, …) and one file per entity; a single entity comes back as that file directly. Products, Services and Solutions each export… - [Get Library Entity Links](https://docs.octavehq.com/v2-api-reference/library/get-library-entity-links.md): Returns deduplicated direct library relationships in either direction as oId, entityType, relationship (the linked entity is a parent or child of the requested entity), and linkType (explicit or inferred). Parent/child describes organizational scope, not exclusive ownership. Includes offerings, solu… - [Context Search](https://docs.octavehq.com/v2-api-reference/context/context-search.md): Search for relevant context documents from library entities, resources, and external research. Supports inline configuration for query enhancement, reranking, and reasoning generation. - [Run a workflow](https://docs.octavehq.com/v2-api-reference/workflow/run-a-workflow.md): Runs a workflow asynchronously and returns a job OId to track execution. - [Get Workflow Run Status](https://docs.octavehq.com/v2-api-reference/workflow/get-workflow-run-status.md): Get the current status of a workflow run job. Use this to poll for completion after starting a workflow via POST /workflows/run. Recommended polling interval: 5–10 seconds. - [List Events](https://docs.octavehq.com/v2-api-reference/events/list-events.md) - [Bulk import events](https://docs.octavehq.com/v2-api-reference/events/bulk-import-events.md): Imports a batch of events (calls, emails, CRM, social) into the analytics pipeline. Accepts up to 1000 events per request; events are ingested asynchronously. - [Get bulk import status](https://docs.octavehq.com/v2-api-reference/events/get-bulk-import-status.md): Get the current status of a bulk event import job. Use this to poll for completion after POST /event/import. Recommended polling interval: 5–10 seconds. The job reaches COMPLETED only once every event is terminal — `ingested` is the authoritative success count. - [Log Event](https://docs.octavehq.com/v2-api-reference/events/log-event.md): Log a custom event — emails, calls, CRM, and social data from your own integrations (n8n, Clay, Make, etc.) — into the analytics pipeline. One event per request; to load history in batches of up to 1000 use POST /event/import, which takes the same event shapes plus a `type` discriminator. - [Count Events](https://docs.octavehq.com/v2-api-reference/events/count-events.md): Count the events matching a date window and filters without returning them: total, a per-channel split, and distinct companies, external people and CRM deals. REST twin of the count_events MCP tool; takes the same window and filters as it and as list_events. - [Get Event Detail](https://docs.octavehq.com/v2-api-reference/events/get-event-detail.md): Get full details for a specific event including participants, findings, and optionally full content. Use this to drill down into a specific call or email after finding it with /event/list or /finding/search. Returns the canonical Octave event id and source-provider event/recording id; participants g… - [Event Time Series](https://docs.octavehq.com/v2-api-reference/events/event-time-series.md): Counts per day, week or month for the events matching a window and filters: events, distinct companies and distinct linked deals per bucket, zero-filled. `includePreviousPeriod` adds the equal-length prior period. REST twin of the get_event_time_series MCP tool. - [Event Cross-Tab](https://docs.octavehq.com/v2-api-reference/events/event-cross-tab.md): Cross two dimensions of the events matching a window and filters, such as objection x segment, and get event, company and deal metrics for every combination, each row and column, and the populations they are drawn from. Dimensions: a library entity type, a tag group, company, person, speaker_side, o… - [Top Event Entities](https://docs.octavehq.com/v2-api-reference/events/top-event-entities.md): Rank the library entities of one type, the values of a tag group, companies, external people, speaker sides or deal stages at the time of the event, across the events matching a window and filters. `metric` picks the ranking; every metric is returned on every item. REST twin of the top_event_entitie… - [Compare Cohorts](https://docs.octavehq.com/v2-api-reference/events/compare-cohorts.md): Test whether one cohort of deals does better than another, on win rate or a leading outcome (advanced within N days, faster than the stage median, next conversation positive). Cohorts are defined by event filters (or cohort A against every other deal). Returns each win rate with a 95% interval, the… - [List Cohort Deals](https://docs.octavehq.com/v2-api-reference/events/list-cohort-deals.md): List the CRM deals on one side of a cohort comparison. Takes the same window, filters and cohorts as Compare Cohorts, plus the side (A, B, or the overlap left out of both), optionally narrowed by dealOutcome or by result on the compared outcome. The returned totals equal that side's counts in the co… - [List Findings](https://docs.octavehq.com/v2-api-reference/findings/list-findings.md) - [Search Findings](https://docs.octavehq.com/v2-api-reference/findings/search-findings.md): Search extracted findings from sales conversations using natural language. Findings are insights extracted from calls, emails, and other events — objections, pain points, competitor mentions, value props, and more. Describe what you're looking for (the query is translated to finding types), or pass… - [List Custom Extractors](https://docs.octavehq.com/v2-api-reference/custom-extractors/list-custom-extractors.md): List the workspace's custom finding extractors with full definitions (prompt, filters, anchors, status, mapping proposal). Requires the custom-extractors entitlement. - [Create Custom Extractor](https://docs.octavehq.com/v2-api-reference/custom-extractors/create-custom-extractor.md): Create a workspace-defined custom finding extractor (event types + optional event filters + custom prompt + model tier + perspective + optional field targets). Set outputMode to "object" with jsonSchema for schema-validated typed fields. Creation runs a one-time LLM mapping that proposes library-tab… - [Update Custom Extractor](https://docs.octavehq.com/v2-api-reference/custom-extractors/update-custom-extractor.md): Update a custom extractor's definition (including outputMode/jsonSchema), its LLM-seeded anchors, or its lifecycle status — set status "ACTIVE" to start it running live in the analytics pipeline. Only the provided keys change. Requires the custom-extractors entitlement. - [Delete Custom Extractor](https://docs.octavehq.com/v2-api-reference/custom-extractors/delete-custom-extractor.md): Delete a custom extractor and retire the findings it produced. The extractor stops running immediately, any pending, running or paused backfill is cancelled, and its findings leave every read surface. Insights that report on this extractor alone are deleted with it, with their past reports; their ti… - [Backtest Custom Extractor](https://docs.octavehq.com/v2-api-reference/custom-extractors/backtest-custom-extractor.md): Run a saved extractor (extractorOId) or an inline draft against real, already-ingested events WITHOUT persisting any findings. Select events explicitly (eventOIds) or with activity-feed-style filters (most recent matches first); omit both to use the extractor's own configured selection. Every tested… - [Estimate Custom Extractor Backfill](https://docs.octavehq.com/v2-api-reference/custom-extractors/estimate-custom-extractor-backfill.md): Count the historical events selected by a saved custom extractor and estimate credits for an optional event-time window. This does not run the extractor, persist findings, create a job, or require the extractor to be ACTIVE. Use it before /custom-extractor/backfill/start. Requires the custom-extract… - [Start Custom Extractor Backfill](https://docs.octavehq.com/v2-api-reference/custom-extractors/start-custom-extractor-backfill.md): Start one durable asynchronous historical run for a saved custom extractor. The job snapshots the extractor filters and prompt version, persists progress, resumes across worker disconnects, and idempotently skips event/extractor pairs that already have findings. The extractor may remain DRAFT or PAU… - [Get Custom Extractor Backfill](https://docs.octavehq.com/v2-api-reference/custom-extractors/get-custom-extractor-backfill.md): Get one durable custom-extractor backfill job by oId. Returns status, event window, processed/skipped/failed event counts, findings created, credits spent, and any error or circuit-breaker reason. Requires the custom-extractors entitlement. - [Control Custom Extractor Backfill](https://docs.octavehq.com/v2-api-reference/custom-extractors/control-custom-extractor-backfill.md): Pause, resume, or cancel a durable custom-extractor backfill job. Resume continues from the persisted cursor; it does not restart completed events. Requires the custom-extractors entitlement. - [Purge Custom Extractor Findings](https://docs.octavehq.com/v2-api-reference/custom-extractors/purge-custom-extractor-findings.md): Retire every finding a custom extractor has produced, keeping the extractor itself. Use this to clear the output of an extractor that ran with the wrong criteria before re-running custom-extractor/backfill/start against the corrected definition. Requires the custom-extractors entitlement. - [Search Call Transcripts](https://docs.octavehq.com/v2-api-reference/transcript/search-call-transcripts.md): Semantic search over recorded call transcripts, returning verbatim, speaker-attributed moments with recording links and time anchors. Filter by company, library entity (competitor/objection/persona/...), speaker side (customer voice vs rep talk track), specific speaker or persona cohort (who SAID it… - [Get Entity Evidence](https://docs.octavehq.com/v2-api-reference/transcript/get-entity-evidence.md): Returns the best verbatim customer-call quotes evidencing a library entity, with speaker attribution, call context, and recording time anchors. Prefers moments the analytics pipeline explicitly linked to the entity; falls back to semantic search. Use to back up a persona pain, competitor claim, obje… - [List Suggestions](https://docs.octavehq.com/v2-api-reference/suggestions/list-suggestions.md): List entity suggestions for the workspace — proposed library changes generated from analytics (calls, emails, deals) and other sources. Mirrors the Suggestions inbox: defaults to pending suggestions from the last 14 days. Each item includes its change type ('add' = new entity, 'refine' = change to a… - [Get Suggestion](https://docs.octavehq.com/v2-api-reference/suggestions/get-suggestion.md): Preview a single entity suggestion in full. For 'add' suggestions, returns the complete proposed new entity. For 'refine' suggestions, returns both the current entity and what it would look like after the change, so you can show the diff. Optionally include the supporting evidence (events/findings)… - [Create Suggestion](https://docs.octavehq.com/v2-api-reference/suggestions/create-suggestion.md): Queue a PENDING entity suggestion for human review. This does NOT create or modify any library entity — it produces a proposal that must be explicitly accepted (via suggestion/accept or the Suggestions inbox) before anything changes. Set changeType to 'add' (with name) to propose a new entity, or 'r… - [Update Suggestion](https://docs.octavehq.com/v2-api-reference/suggestions/update-suggestion.md): Edit a PENDING entity suggestion before accepting it. Two combinable modes: `instructions` regenerates the proposed content via AI; `edits` applies a precise partial field override with no regeneration. Works for both 'add' and 'refine' suggestions. Returns the updated preview. The suggestion stays… - [Accept Suggestion](https://docs.octavehq.com/v2-api-reference/suggestions/accept-suggestion.md): Accept a pending entity suggestion. This APPLIES the proposed change — for an 'add' suggestion it creates the new library entity; for a 'refine' suggestion it updates the existing one. Preview first with suggestion/get. Returns the resulting library entity. - [Reject Suggestion](https://docs.octavehq.com/v2-api-reference/suggestions/reject-suggestion.md): Reject a pending entity suggestion. This does NOT change any library entity — it marks the proposed change as dismissed so it no longer appears in the pending queue. An optional reason can be recorded. - [List Revisions](https://docs.octavehq.com/v2-api-reference/revision/list-revisions.md): List audit-trail revisions for library and agent entities, with optional filters by entity type, entity oIds, date range, and author. Returns lightweight summaries — use `getRevision` to fetch a single revision's full before/after state or diff. - [Get Revision](https://docs.octavehq.com/v2-api-reference/revision/get-revision.md): Fetch a single audit-trail revision by oId. Returns the before/after entity snapshots plus a recursive field-level diff (added / removed / changed) that descends into nested objects. Arrays are treated as atomic leaves. Pass `diffOnly: true` to omit the full snapshots and return only the diff — usef… - [Top Entities](https://docs.octavehq.com/v2-api-reference/insights/top-entities.md) - [Entity Stats](https://docs.octavehq.com/v2-api-reference/insights/entity-stats.md) - [Entity Time Series](https://docs.octavehq.com/v2-api-reference/insights/entity-time-series.md) - [Competitive Landscape](https://docs.octavehq.com/v2-api-reference/insights/competitive-landscape.md) - [Library Health](https://docs.octavehq.com/v2-api-reference/insights/library-health.md) - [Workspace Baseline](https://docs.octavehq.com/v2-api-reference/insights/workspace-baseline.md) - [List intel](https://docs.octavehq.com/v2-api-reference/intel/list-intel.md): Read researched competitor, segment and market intel. Respects workspace and target intel settings. List defaults to active, non-archived records; use lifecycleStatuses for retired intel. Timestamps reflect record changes, including revalidation, rather than source publication dates. - [Get intel](https://docs.octavehq.com/v2-api-reference/intel/get-intel.md): Read researched competitor, segment and market intel. Respects workspace and target intel settings. List defaults to active, non-archived records; use lifecycleStatuses for retired intel. Timestamps reflect record changes, including revalidation, rather than source publication dates. - [List Tag Groups](https://docs.octavehq.com/v2-api-reference/tag-group/list-tag-groups.md): List the workspace's reporting tag groups and their values. Filter to one library entity type with `entityType`, or omit it to list every type's groups. - [Create Tag Group](https://docs.octavehq.com/v2-api-reference/tag-group/create-tag-group.md): Create a reporting tag group (a faceted dimension) for one library entity type, optionally with its initial values. Set `isInferable` to have Octave auto-infer a value for new entities of the type, and `backfill` to also queue inference for existing ones. - [Update Tag Group](https://docs.octavehq.com/v2-api-reference/tag-group/update-tag-group.md): Rename a tag group, change its description, or turn auto-infer on or off. Only the fields passed change; the entity type cannot be changed. Set `backfill` to also queue inference for existing entities not yet in the group. - [Delete Tag Group](https://docs.octavehq.com/v2-api-reference/tag-group/delete-tag-group.md): Delete a tag group, its values, and every entity's assignment in it. Assignments cannot be recovered. - [List Tag Group Assignments](https://docs.octavehq.com/v2-api-reference/tag-group/list-tag-group-assignments.md): List every entity of a tag group's entity type with its current value in that group; `tagOId`/`tagName` are null when the entity has no value. - [Get Tag Group Performance](https://docs.octavehq.com/v2-api-reference/tag-group/get-tag-group-performance.md): Roll up outcome stats for the entities in a tag group by tag value: per-value won/lost/open/total deal counts, finding and call counts, correlated won amount, and win rate (from summed deals across the entities carrying each value). `totalDealCount` includes open deals; `dataWindow` states which pre… - [Backfill Tag Group](https://docs.octavehq.com/v2-api-reference/tag-group/backfill-tag-group.md): Queue a one-time auto-infer catch-up for an auto-infer tag group: every entity of the group's type with no value in it yet (or only the given `entityOIds`) is sent for LLM inference. Entities with a value, or with one explicitly removed, are never touched. Pass `dryRun` to preview without queuing. - [Create Tag](https://docs.octavehq.com/v2-api-reference/tag/create-tag.md): Add a value to an existing tag group. - [Update Tag](https://docs.octavehq.com/v2-api-reference/tag/update-tag.md): Rename or reorder a tag value. Entities already carrying the value keep it under the new name. - [Delete Tag](https://docs.octavehq.com/v2-api-reference/tag/delete-tag.md): Delete one value from a tag group. A value assigned to entities must be reassigned first: pass `reassignToTagOId` (an existing value in the same group) or `reassignToNewValueName`. A group must keep at least one value — delete the group instead. - [Assign Tag](https://docs.octavehq.com/v2-api-reference/tag/assign-tag.md): Assign a tag value to a library entity. An entity carries at most one value per group, so this replaces any value it already had in that group. The tag's group must be for the same entity type. - [Unassign Tag](https://docs.octavehq.com/v2-api-reference/tag/unassign-tag.md): Clear a library entity's value in one tag group. The removal is remembered, so auto-infer never re-assigns a value the entity was explicitly cleared of. - [List report groups](https://docs.octavehq.com/v2-api-reference/reportgroup/list-report-groups.md): List GTM report groups (Beats), including scheduling status and config count - [Get a report group](https://docs.octavehq.com/v2-api-reference/reportgroup/get-a-report-group.md): Get a single report group (Beats schedule) by oId, including its report configs - [List report configs](https://docs.octavehq.com/v2-api-reference/reportconfig/list-report-configs.md): List report configurations, optionally filtered by group - [Get a report config](https://docs.octavehq.com/v2-api-reference/reportconfig/get-a-report-config.md): Get a single report configuration by oId - [List report runs](https://docs.octavehq.com/v2-api-reference/reportrun/list-report-runs.md): List report runs newest window first: one config's (configOId), every config of a group's (groupOId), or by default the Weekly Beats group's - [Get a report run](https://docs.octavehq.com/v2-api-reference/reportrun/get-a-report-run.md): Get a single report run with full section details and narrative analysis - [Get CRM Entity Schema](https://docs.octavehq.com/v2-api-reference/crm/get-crm-entity-schema.md): Discover the valid fields/properties on a CRM entity (account, contact, lead, or opportunity) in the connected CRM (Salesforce, HubSpot, or Attio). Introspect the schema first, then fetch fields by their real API names instead of guessing. - [Get Resource](https://docs.octavehq.com/v2-api-reference/resource/get-resource.md): Get a resource by OId. Returns the full extracted text content by default (set includeContent=false to skip and only fetch metadata). Optionally check storage task status for pending/uploading resources. - [List Resources](https://docs.octavehq.com/v2-api-reference/resource/list-resources.md): List all global resources in the workspace with optional filtering and pagination. Only returns global resources (workspace-wide), not entity-specific resources. - [Create Resource](https://docs.octavehq.com/v2-api-reference/resource/create-resource.md): Create a new global resource in the workspace. - [Delete Resource(s)](https://docs.octavehq.com/v2-api-reference/resource/delete-resources.md): Soft delete one or more resources. Provide either a single oId or an array of oIds. - [Get Resource Status](https://docs.octavehq.com/v2-api-reference/resource/get-resource-status.md): Get the current processing status of a resource. Use this to poll for completion after creating async resources (URL or drive mode). - [Search Resources](https://docs.octavehq.com/v2-api-reference/resource/search-resources.md): Search across global resources using semantic search. Returns resources ranked by relevance to the query. - [Check Resource Drift](https://docs.octavehq.com/v2-api-reference/resource/check-resource-drift.md): Check whether a source doc (Google Doc, Notion page, Linear doc, watched URL) has drifted from the library entities linked to it. Returns a per-entity verdict (contradicts / invalidates / strengthens / validates / immaterial, with change kinds and which side moved) and, when material, a consolidated… - [Link Entities to Resource](https://docs.octavehq.com/v2-api-reference/resource/link-entities-to-resource.md): Link or unlink library entities to a source doc (Google Doc, Notion page, Linear doc, website page). Links are the substrate of resource drift: a linked doc is checked against its entities' state, and material divergence becomes a reviewable doc-update suggestion (see /resource/check-drift). Use thi… - [List Skills](https://docs.octavehq.com/v2-api-reference/skill/list-skills.md): List the workspace's skills (agent instruction documents) with status and text filters. Returns L1 metadata (names and descriptions) without bodies. - [Get Skill](https://docs.octavehq.com/v2-api-reference/skill/get-skill.md): Get a skill by oId or by its exact name (unique per workspace), including its SKILL.md markdown body and bundled-file listing. - [Get Skill File](https://docs.octavehq.com/v2-api-reference/skill/get-skill-file.md): Read one bundled file of a skill (progressive disclosure level 3). Use the paths from Get Skill's files listing. Fetch files only when the SKILL.md instructions reference them for the task at hand. - [Create Skill](https://docs.octavehq.com/v2-api-reference/skill/create-skill.md): Create a skill from frontmatter fields (name, description) and a markdown body. The composed SKILL.md is stored in the artifact store; new skills start as DRAFT until published. The API key's creating user must be a workspace or organization owner. - [Update Skill](https://docs.octavehq.com/v2-api-reference/skill/update-skill.md): Update a skill's frontmatter (name/description), SKILL.md body, or publication state. Content edits rewrite the stored SKILL.md; the store keeps version history. The API key's creating user must be a workspace or organization owner. - [Delete Skill](https://docs.octavehq.com/v2-api-reference/skill/delete-skill.md): Delete a skill: soft-deletes the registry entry and removes its stored folder. The API key's creating user must be a workspace or organization owner. - [Find Skill](https://docs.octavehq.com/v2-api-reference/skill/find-skill.md): Resolve a task to the best-fitting skills via multi-strategy retrieval (full-text + semantic) plus an LLM reasoning step. Returns ranked candidates with reasoning and confidence, without bodies — fetch the chosen skill via Get Skill. Zero results means no skill fits; proceed with a default approach. - [Publishing Assets via API](https://docs.octavehq.com/v2-api-reference/asset/publishing-assets.md): Publish a hosted site or file bundle programmatically: mint an access token, upload your files to the artifacts service, then manage sharing, versions, and analytics over REST. - [List Assets](https://docs.octavehq.com/v2-api-reference/asset/list-assets.md): List the calling user's assets (hosted sites, storage bundles, and managed skill folders). Optionally filter by status, privacy, category, owner, or a search string, and page through results with limit/offset. - [Get Asset](https://docs.octavehq.com/v2-api-reference/asset/get-asset.md): Fetch a single asset by its UUID, including its metadata, flat file list, and site directory tree. Use List Assets first if you don't have the UUID. - [Update Asset](https://docs.octavehq.com/v2-api-reference/asset/update-asset.md): Update an asset's editable fields — any of identifier, description, entry point, category, privacy, status, and vanitySlug. privacy and status are independent: publishing does NOT make an asset public — set privacy to 'public' for that. vanitySlug claims a workspace-unique friendly URL (409 if taken… - [Delete Asset](https://docs.octavehq.com/v2-api-reference/asset/delete-asset.md): Permanently delete an asset and its stored files by UUID. This cannot be undone. A managed skill's backing folder is refused here — delete the skill via the Skill API instead, so its searchable registry entry stays in sync. - [Get Asset Stats](https://docs.octavehq.com/v2-api-reference/asset/get-asset-stats.md): Get per-day unique visit and download counts for an asset. Owner-only analytics: works for your own assets; a teammate can read a shared asset but never its analytics. For WHO opened it (identified viewers), use List Asset Visitors instead. - [List Asset Visitors](https://docs.octavehq.com/v2-api-reference/asset/list-asset-visitors.md): List the identified viewers of an asset — every code-verified viewer with open counts and first/last-seen times: share-link recipients (via 'share') and workspace-verified members (via 'workspace'). Anonymous public visitors never appear here — use Get Asset Stats for aggregate counts. Owner-only an… - [List Asset Versions](https://docs.octavehq.com/v2-api-reference/asset/list-asset-versions.md): List an asset's version history, newest first. Every file update mints an immutable version; 'current' marks the one the asset's URL serves and latestVersion is the mint high-water mark (they differ after a rollback). Use before Restore Asset Version or Delete Asset Version to pick a version number. - [Restore Asset Version](https://docs.octavehq.com/v2-api-reference/asset/restore-asset-version.md): Roll an asset back to a previous version — an instant pointer flip: the asset's URL serves the chosen snapshot immediately, no files move, and newer versions are NOT deleted (they stay restorable, so you can roll forward again the same way). Returns the updated asset with currentVersion set to the r… - [Delete Asset Version](https://docs.octavehq.com/v2-api-reference/asset/delete-asset-version.md): Permanently delete a version's snapshot files (storage cleanup). This cannot be undone — the version stops being restorable. The CURRENT version can never be deleted (the server answers 400); restore a different version first. Version numbers are never reused. - [List Asset Shares](https://docs.octavehq.com/v2-api-reference/asset/list-asset-shares.md): List an asset's share links, each with its email/domain allowlist and expiry. The share UUIDs returned here are what Revoke Asset Share and the recipient/domain endpoints take. - [Create Asset Share](https://docs.octavehq.com/v2-api-reference/asset/create-asset-share.md): Create an email-verified share link for an asset. Allowlist by exact emails and/or whole domains — provide at least one entry across the two. Set expiresInDays (1–3650) or null for a link that never expires. The returned url embeds the link token; it stays readable via List Asset Shares, so it can b… - [Revoke Asset Share](https://docs.octavehq.com/v2-api-reference/asset/revoke-asset-share.md): Revoke a share link by its UUID. Any active viewer sessions are cut off immediately. This cannot be undone. - [Add Asset Share Recipients](https://docs.octavehq.com/v2-api-reference/asset/add-asset-share-recipients.md): Add exact recipient emails to an existing share link's allowlist. Already-present emails are ignored. Returns the updated share. - [Remove Asset Share Recipients](https://docs.octavehq.com/v2-api-reference/asset/remove-asset-share-recipients.md): Remove recipient emails from an existing share link's allowlist. Removed viewers lose access on their next visit. Emails not on the allowlist are ignored. Returns the updated share. - [Add Asset Share Domains](https://docs.octavehq.com/v2-api-reference/asset/add-asset-share-domains.md): Add domains to an existing share link's allowlist — any verified mailbox at an allowlisted domain gets access. Already-present domains are ignored. Returns the updated share. - [Remove Asset Share Domains](https://docs.octavehq.com/v2-api-reference/asset/remove-asset-share-domains.md): Remove domains from an existing share link's allowlist. Viewers who only had domain-based access lose it on their next visit. Domains not on the allowlist are ignored. Returns the updated share. - [List Asset Access Requests](https://docs.octavehq.com/v2-api-reference/asset/list-asset-access-requests.md): List access requests across ALL of the calling user's assets — the request inbox. Each entry is a code-verified person asking to view one of your assets; it embeds the target asset's uuid + identifier for follow-up Grant / Dismiss calls. Pending first, then most recently updated; filter with status… - [Grant Asset Access Request](https://docs.octavehq.com/v2-api-reference/asset/grant-asset-access-request.md): Grant a pending access request: mints a fresh single-recipient, never-expiring share link for the requester's email and marks the request granted. NO email is sent — forward the returned share.url to the requester yourself (it also stays readable via List Asset Shares, so a lost link is recoverable)… - [Dismiss Asset Access Request](https://docs.octavehq.com/v2-api-reference/asset/dismiss-asset-access-request.md): Dismiss a pending access request — 'not now', not a block: if the requester verifies their email and asks again, the request returns to pending. Grants nothing and sends nothing. An already-granted request fails with 409 (dismissing wouldn't revoke access — revoke its share with Revoke Asset Share i… - [Generate Asset Access Token](https://docs.octavehq.com/v2-api-reference/asset/generate-asset-access-token.md): Mint a per-user access token for the artifacts service, scoped to the calling user and workspace. The token authenticates direct calls to the artifacts service at the returned `apiBaseUrl` (`https://link.octavehq.com` in production — a public host; use the returned value, never a guessed hostname) —… - [Refresh Asset Access Token](https://docs.octavehq.com/v2-api-reference/asset/refresh-asset-access-token.md): Rotate the calling user's artifacts-service access token, invalidating the previous one. Returns the new plaintext token, which is shown ONLY here and on generate — store it securely, it cannot be retrieved again. Like generate, the response carries `apiBaseUrl` — the public artifacts-service origin… - [Transfer Asset](https://docs.octavehq.com/v2-api-reference/asset/transfer-asset.md): Transfer an asset's ownership to another user in its workspace, identified by their Octave user oId. Allowed for the asset's owner, or a workspace admin/owner when the asset isn't only_me (the asset's canManage field reports your rights). The target must have used assets at least once (400 otherwise… - [Get Workspace Company](https://docs.octavehq.com/v2-api-reference/workspace-company/get-workspace-company.md): Get the workspace company. There is exactly one workspace company per workspace; the caller's workspace is inferred from the API key. - [Update Workspace Company](https://docs.octavehq.com/v2-api-reference/workspace-company/update-workspace-company.md): Update the workspace company. There is exactly one workspace company per workspace; the caller's workspace is inferred from the API key. - [Generate Workspace Company](https://docs.octavehq.com/v2-api-reference/workspace-company/generate-workspace-company.md): Generate workspace company content from a domain, free-form source materials (text, URLs, or Resource references), or both. At least one of `domain` or `sources` is required. When `domain` is provided it is scraped; when `sources` are provided they are expanded; both feed the workspace builder LLM.… - [Octave MCP](https://docs.octavehq.com/mcp/overview.md): Connect your Octave workspace to Claude, Cursor, and other AI tools via MCP. Access your GTM knowledge base directly from your editor. - [Available Tools](https://docs.octavehq.com/mcp/available-tools.md): The complete set of tools the Octave MCP server exposes to connected AI assistants, grouped by area — Library, Motions, research, agents, assets, skills, analytics, and more. - [Claude Code](https://docs.octavehq.com/mcp/claude-code.md): Set up the Octave MCP server and LFGTM plugin in Claude Code for GTM research, content generation, and pipeline tools. - [Claude Desktop](https://docs.octavehq.com/mcp/claude-desktop.md): Connect Octave to Claude Desktop using a custom connector or remote MCP config - [Cursor](https://docs.octavehq.com/mcp/cursor.md): Set up the Octave MCP server in Cursor to give your AI assistant access to your GTM knowledge base and agents. - [Other Editors](https://docs.octavehq.com/mcp/other-editors.md): Connect Octave to VS Code, Zed, Windsurf, and other MCP-compatible editors ## OpenAPI Specs - [openapi](/v2-api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.