llamaindex Indexes API

Create and manage indexes that serve as automated document ingestion pipelines with retrieval capabilities.

OpenAPI Specification

llamaindex-indexes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: LlamaIndex LlamaCloud Data Sources Indexes API
  description: The LlamaCloud API is the central REST API for LlamaIndex's cloud platform, providing programmatic access to managed document processing, indexing, and retrieval services. It enables developers to build production-grade LLM applications by leveraging cloud-hosted infrastructure for document ingestion, knowledge management, and agent orchestration. The API supports authentication via API keys and is available in both US and EU regions.
  version: '1.0'
  contact:
    name: LlamaIndex Support
    url: https://www.llamaindex.ai/contact
  termsOfService: https://www.llamaindex.ai/terms-of-service
servers:
- url: https://api.cloud.llamaindex.ai/api/v1
  description: US Production Server
- url: https://api.cloud.llamaindex.eu/api/v1
  description: EU Production Server
security:
- bearerAuth: []
tags:
- name: Indexes
  description: Create and manage indexes that serve as automated document ingestion pipelines with retrieval capabilities.
paths:
  /pipelines:
    get:
      operationId: listIndexes
      summary: List indexes
      description: Retrieve a list of all indexes (pipelines) for the specified project. Each index represents an automated document ingestion pipeline with retrieval capabilities.
      tags:
      - Indexes
      parameters:
      - name: project_id
        in: query
        description: Filter indexes by project identifier.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of indexes
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Index'
        '401':
          description: Unauthorized - invalid or missing API key
    post:
      operationId: createIndex
      summary: Create an index
      description: Create a new index with specified configuration for document ingestion, parsing, embedding, and vector storage. The index automatically handles processing uploaded documents into a queryable format.
      tags:
      - Indexes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIndexRequest'
      responses:
        '201':
          description: Index created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Index'
        '400':
          description: Bad request - invalid index configuration
        '401':
          description: Unauthorized - invalid or missing API key
  /pipelines/{pipelineId}:
    get:
      operationId: getIndex
      summary: Get an index
      description: Retrieve detailed information about a specific index including its configuration, processing status, and file counts.
      tags:
      - Indexes
      parameters:
      - $ref: '#/components/parameters/pipelineId'
      responses:
        '200':
          description: Successfully retrieved index details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Index'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Index not found
    delete:
      operationId: deleteIndex
      summary: Delete an index
      description: Delete an index and its associated processed data.
      tags:
      - Indexes
      parameters:
      - $ref: '#/components/parameters/pipelineId'
      responses:
        '200':
          description: Index deleted successfully
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Index not found
  /pipelines/{pipelineId}/sync:
    post:
      operationId: syncIndex
      summary: Sync an index
      description: Trigger an incremental sync of the index, processing any new or modified documents from connected data sources and uploaded files.
      tags:
      - Indexes
      parameters:
      - $ref: '#/components/parameters/pipelineId'
      responses:
        '200':
          description: Index sync initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexJob'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Index not found
components:
  parameters:
    pipelineId:
      name: pipelineId
      in: path
      description: Unique identifier of the index (pipeline).
      required: true
      schema:
        type: string
  schemas:
    Index:
      type: object
      description: An index representing an automated document ingestion pipeline with built-in retrieval capabilities.
      properties:
        id:
          type: string
          description: Unique identifier of the index.
        name:
          type: string
          description: Human-readable name of the index.
        project_id:
          type: string
          description: Identifier of the project the index belongs to.
        status:
          type: string
          enum:
          - active
          - syncing
          - error
          - idle
          description: Current status of the index.
        embedding_model:
          type: string
          description: Name of the embedding model used for vectorization.
        sync_interval:
          type: integer
          description: Scheduled sync frequency in seconds, if configured.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the index was created.
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the index was last updated.
    IndexJob:
      type: object
      description: A sync job for an index tracking the processing of documents.
      properties:
        id:
          type: string
          description: Unique identifier of the job.
        pipeline_id:
          type: string
          description: Identifier of the index the job belongs to.
        status:
          type: string
          enum:
          - pending
          - running
          - completed
          - failed
          description: Current status of the job.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the job was created.
        completed_at:
          type: string
          format: date-time
          description: Timestamp when the job completed, if applicable.
    CreateIndexRequest:
      type: object
      description: Request body for creating a new index.
      required:
      - name
      - project_id
      properties:
        name:
          type: string
          description: Human-readable name for the new index.
        project_id:
          type: string
          description: Identifier of the project to create the index in.
        embedding_model:
          type: string
          description: Name of the embedding model to use for vectorization.
        sync_interval:
          type: integer
          description: Optional scheduled sync frequency in seconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: LlamaCloud API key obtained from the LlamaCloud dashboard. Include as a Bearer token in the Authorization header.
externalDocs:
  description: LlamaCloud API Documentation
  url: https://developers.api.llamaindex.ai/