ElevenLabs Conversational AI API

Build and manage conversational AI agents (legacy tag — see also Agents Platform).

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /v1/convai/knowledge-base/crawl Crawl a website into the knowledge base · Create Crawl Job #
Ask an LLM
“How do I import a whole documentation site into my agent's knowledge base?”
“Can I limit crawl depth and page count or only include URLs matching a pattern?”
Tell an agent
Crawl {url} into the knowledge base.
Crawl {url} to depth {max_depth} with at most {max_pages} pages.
GET /v1/convai/knowledge-base/crawl List recent knowledge base crawl jobs · List Ongoing And Recent Crawl Jobs Created By A User #
Ask an LLM
“Which website crawl jobs are running or recently finished for my agents' knowledge base?”
“Can I include specific older crawl jobs in the list?”
Tell an agent
List my ongoing and recent crawl jobs.
Show crawl jobs, also including job IDs {include_job_ids}.
GET /v1/convai/knowledge-base/crawl/{crawl_job_id} Check a crawl job's progress · Get Crawl Job Details #
Ask an LLM
“How far along is my knowledge base crawl?”
“Did a specific crawl job finish successfully?”
Tell an agent
Show progress of crawl job {crawl_job_id}.
Get the status of crawl {crawl_job_id}.
POST /v1/convai/knowledge-base/crawl/{crawl_job_id}/cancel Cancel a crawl job and discard its documents · Cancel Crawl Job #
Ask an LLM
“Can I stop a crawl that is pulling in the wrong pages?”
“Does cancelling a crawl delete the documents it already created?”
Tell an agent destructive · confirm first
Cancel crawl job {crawl_job_id}.
Stop crawl {crawl_job_id} and delete everything it added.
POST /v1/convai/knowledge-base/folder Create a knowledge base folder · Create Folder #
Ask an LLM
“Can I organize knowledge base documents into folders?”
“How do I make a subfolder inside an existing knowledge base folder?”
Tell an agent
Create a knowledge base folder named {name}.
Make folder {name} inside folder {parent_folder_id}.
POST /v1/convai/knowledge-base/{document_id}/move Move one knowledge base document to a folder · Move Entity To Folder #
Ask an LLM
“How do I move a single document into another knowledge base folder?”
“What happens if I move a document without naming a destination folder?”
Tell an agent
Move document {document_id} to folder {move_to}.
Move knowledge base item {document_id} back to the root folder.
POST /v1/convai/knowledge-base/bulk-move Move many knowledge base items at once · Bulk Move Entities To Folder #
Ask an LLM
“Can I move a batch of documents and folders together?”
“Is there a bulk way to reorganize my knowledge base?”
Tell an agent
Move documents {document_ids} to folder {move_to}.
Bulk-move items {document_ids} to the root of the knowledge base.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elevenlabs-conversational-ai-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elevenlabs-conversational-ai-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ElevenLabs API Documentation Conversational AI API
  description: This is the documentation for the ElevenLabs API. You can use this API to use our service programmatically, this is done by using your API key. You can find your API key in the dashboard at https://elevenlabs.io/app/settings/api-keys.
  version: '1.0'
tags:
- name: Conversational AI
  description: Build and manage conversational AI agents (legacy tag — see also Agents Platform).
paths:
  /v1/convai/knowledge-base/crawl:
    post:
      tags:
      - Conversational AI
      summary: Create Crawl Job
      description: Create a crawl job to crawl the given URL with specified depth and page limits.
      operationId: create_crawl_job_route
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_Create_crawl_job_v1_convai_knowledge_base_crawl_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCrawlJobResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - crawl_jobs
      x-fern-sdk-method-name: create
    get:
      tags:
      - Conversational AI
      summary: List Ongoing And Recent Crawl Jobs Created By A User
      description: Get a list of ongoing and recent crawl jobs for the user.
      operationId: list_crawl_jobs_route
      parameters:
      - name: include_job_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Ids of additional crawl jobs to retrieve
          title: Include Job Ids
        description: Ids of additional crawl jobs to retrieve
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: How many documents to return at maximum. Can not exceed 100, defaults to 30.
          default: 30
          title: Page Size
        description: How many documents to return at maximum. Can not exceed 100, defaults to 30.
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Used for fetching next page. Cursor is returned in the response.
          title: Cursor
        description: Used for fetching next page. Cursor is returned in the response.
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCrawlJobsResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - crawl_jobs
      x-fern-sdk-method-name: list
  /v1/convai/knowledge-base/crawl/{crawl_job_id}:
    get:
      tags:
      - Conversational AI
      summary: Get Crawl Job Details
      description: Get details about a specific crawl job including status and progress.
      operationId: get_crawl_job_route
      parameters:
      - name: crawl_job_id
        in: path
        required: true
        schema:
          type: string
          description: The id of the crawl job to retrieve
          embed: true
          title: Crawl Job Id
        description: The id of the crawl job to retrieve
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCrawlJobResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - crawl_jobs
      x-fern-sdk-method-name: get
  /v1/convai/knowledge-base/crawl/{crawl_job_id}/cancel:
    post:
      tags:
      - Conversational AI
      summary: Cancel Crawl Job
      description: Cancel a crawl job and delete all associated documents and folders.
      operationId: cancel_crawl_job_route
      parameters:
      - name: crawl_job_id
        in: path
        required: true
        schema:
          type: string
          description: The id of the crawl job to retrieve
          embed: true
          title: Crawl Job Id
        description: The id of the crawl job to retrieve
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - crawl_jobs
      x-fern-sdk-method-name: cancel
  /v1/convai/knowledge-base/folder:
    post:
      tags:
      - Conversational AI
      summary: Create Folder
      description: Create a folder used for grouping documents together.
      operationId: create_folder_route
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_Create_folder_v1_convai_knowledge_base_folder_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddKnowledgeBaseResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - documents
      x-fern-sdk-method-name: create_folder
  /v1/convai/knowledge-base/{document_id}/move:
    post:
      tags:
      - Conversational AI
      summary: Move Entity To Folder
      description: Moves the entity from one folder to another.
      operationId: post_knowledge_base_move_route
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
          description: The id of a document from the knowledge base. This is returned on document addition.
          examples:
          - 21m00Tcm4TlvDq8ikWAM
          embed: true
          title: Document Id
        description: The id of a document from the knowledge base. This is returned on document addition.
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_Move_entity_to_folder_v1_convai_knowledge_base__document_id__move_post'
      responses:
        '200':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - documents
      x-fern-sdk-method-name: move
  /v1/convai/knowledge-base/bulk-move:
    post:
      tags:
      - Conversational AI
      summary: Bulk Move Entities To Folder
      description: Moves multiple entities from one folder to another.
      operationId: post_knowledge_base_bulk_move_route
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_Bulk_move_entities_to_folder_v1_convai_knowledge_base_bulk_move_post'
      responses:
        '200':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - conversational_ai
      - knowledge_base
      - documents
      x-fern-sdk-method-name: bulk_move
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    KnowledgeBaseFolderPathSegmentSummaryResponseModel:
      properties:
        id:
          type: string
          title: Id
      type: object
      required:
      - id
      title: KnowledgeBaseFolderPathSegmentSummaryResponseModel
    ListCrawlJobsResponseModel:
      properties:
        crawl_jobs:
          items:
            $ref: '#/components/schemas/GetCrawlJobResponseModel'
          type: array
          title: Crawl Jobs
        next_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Next Cursor
      type: object
      required:
      - crawl_jobs
      title: ListCrawlJobsResponseModel
    CrawlStatus:
      type: string
      enum:
      - queued
      - processing
      - succeeded
      - failed
      - skipped
      - cancelled
      title: CrawlStatus
      default: queued
    Body_Bulk_move_entities_to_folder_v1_convai_knowledge_base_bulk_move_post:
      properties:
        document_ids:
          items:
            type: string
          type: array
          maxItems: 20
          minItems: 1
          uniqueItems: true
          title: Document Ids
          description: The ids of documents or folders from the knowledge base.
          examples:
          - - 21m00Tcm4TlvDq8ikWAM
            - 31m00Tcm4TlvDq8ikWBM
        move_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Move To
          description: The folder to move the entities to. If not set, the entities will be moved to the root folder.
      type: object
      required:
      - document_ids
      title: Body_Bulk_move_entities_to_folder_v1_convai_knowledge_base_bulk_move_post
    Body_Move_entity_to_folder_v1_convai_knowledge_base__document_id__move_post:
      properties:
        move_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Move To
          description: The folder to move the entities to. If not set, the entities will be moved to the root folder.
      type: object
      title: Body_Move_entity_to_folder_v1_convai_knowledge_base__document_id__move_post
    Body_Create_crawl_job_v1_convai_knowledge_base_crawl_post:
      properties:
        url:
          type: string
          title: Url
          description: URL to a page of documentation that the agent will have access to in order to interact with users.
        max_depth:
          type: integer
          maximum: 5.0
          minimum: 1.0
          title: Max Depth
          description: Maximum depth for crawling (1-5), defaults to 3.
          default: 3
        max_pages:
          type: integer
          maximum: 10000.0
          minimum: 1.0
          title: Max Pages
          description: Maximum number of pages to crawl (1-10,000), defaults to 1000.
          default: 1000
        pattern:
          anyOf:
          - type: string
            maxLength: 2048
          - type: 'null'
          title: Pattern
          description: If set, only URLs that match this pattern are included.
        sitemap_urls:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Sitemap Urls
          description: List of URLs to crawl from sitemap (optional, overrides automatic URL discovery).
        parent_folder_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Parent Folder Id
          description: If set, the created document or folder will be placed inside the given folder.
        enable_auto_sync:
          type: boolean
          title: Enable Auto Sync
          description: Whether to enable auto-sync for this URL document.
          default: false
        auto_remove:
          type: boolean
          title: Auto Remove
          description: Whether to automatically remove the document if the URL becomes unavailable. Only applicable when auto-sync is enabled.
          default: false
        minimum_frequency_days:
          anyOf:
          - type: integer
            maximum: 180.0
            minimum: 1.0
          - type: 'null'
          title: Minimum Frequency Days
          description: Minimum frequency (in days) at which the underlying eligible documents are refreshed. The actual interval may be shorter, never longer. Defaults to 7, tightened to the parent folder's frequency if that is stricter. Only applicable when auto-sync is enabled.
      type: object
      required:
      - url
      title: Body_Create_crawl_job_v1_convai_knowledge_base_crawl_post
    GetCrawlJobResponseModel:
      properties:
        type:
          $ref: '#/components/schemas/CrawlType'
          default: discovery
        seed_url:
          type: string
          title: Seed Url
        pattern:
          anyOf:
          - type: string
          - type: 'null'
          title: Pattern
        max_depth:
          type: integer
          title: Max Depth
        max_pages:
          type: integer
          title: Max Pages
        status:
          $ref: '#/components/schemas/CrawlStatus'
          default: queued
        pages_identified:
          type: integer
          title: Pages Identified
          default: 0
        pages_scraped:
          type: integer
          title: Pages Scraped
          default: 0
        pages_skipped:
          type: integer
          title: Pages Skipped
          default: 0
        pages_failed:
          type: integer
          title: Pages Failed
          default: 0
        root_folder_id:
          type: string
          title: Root Folder Id
        updated_at:
          type: integer
          title: Updated At
        id:
          type: string
          title: Id
        created_at:
          type: integer
          title: Created At
      type: object
      required:
      - seed_url
      - max_depth
      - max_pages
      - root_folder_id
      - updated_at
      - id
      - created_at
      title: GetCrawlJobResponseModel
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    Body_Create_folder_v1_convai_knowledge_base_folder_post:
      properties:
        name:
          type: string
          minLength: 1
          title: Name
          description: A custom, human-readable name for the document.
        parent_folder_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Parent Folder Id
          description: If set, the created document or folder will be placed inside the given folder.
        enable_auto_sync:
          type: boolean
          title: Enable Auto Sync
          description: Whether to enable auto-sync for this URL document.
          default: false
        auto_remove:
          type: boolean
          title: Auto Remove
          description: Whether to automatically remove the document if the URL becomes unavailable. Only applicable when auto-sync is enabled.
          default: false
        minimum_frequency_days:
          anyOf:
          - type: integer
            maximum: 180.0
            minimum: 1.0
          - type: 'null'
          title: Minimum Frequency Days
          description: Minimum frequency (in days) at which the underlying eligible documents are refreshed. The actual interval may be shorter, never longer. Defaults to 7, tightened to the parent folder's frequency if that is stricter. Only applicable when auto-sync is enabled.
      type: object
      required:
      - name
      title: Body_Create_folder_v1_convai_knowledge_base_folder_post
    CreateCrawlJobResponseModel:
      properties:
        id:
          type: string
          title: Id
        type:
          $ref: '#/components/schemas/CrawlType'
        root_folder_id:
          type: string
          title: Root Folder Id
        status:
          type: string
          title: Status
        created_at:
          type: integer
          title: Created At
        folder_path:
          items:
            $ref: '#/components/schemas/KnowledgeBaseFolderPathSegmentSummaryResponseModel'
          type: array
          title: Folder Path
          description: The folder path segments leading to the root folder, from root to parent folder.
      type: object
      required:
      - id
      - type
      - root_folder_id
      - status
      - created_at
      title: CreateCrawlJobResponseModel
    CrawlType:
      type: string
      enum:
      - discovery
      - sitemap
      title: CrawlType
      default: discovery
    AddKnowledgeBaseResponseModel:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        folder_path:
          items:
            $ref: '#/components/schemas/KnowledgeBaseFolderPathSegmentSummaryResponseModel'
          type: array
          title: Folder Path
          description: The folder path segments leading to this entity, from root to parent folder.
      type: object
      required:
      - id
      - name
      title: AddKnowledgeBaseResponseModel