llamaindex Pipelines API

Create, configure, sync, and manage document ingestion pipelines.

OpenAPI Specification

llamaindex-pipelines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: LlamaIndex LlamaCloud Data Sources Pipelines 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: Pipelines
  description: Create, configure, sync, and manage document ingestion pipelines.
paths:
  /pipelines:
    get:
      operationId: listPipelines
      summary: List pipelines
      description: Retrieve a list of all pipelines for the specified project. Pipelines represent document ingestion workflows that process, embed, and index documents.
      tags:
      - Pipelines
      parameters:
      - name: project_id
        in: query
        description: Filter pipelines by project identifier.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of pipelines
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Pipeline'
        '401':
          description: Unauthorized - invalid or missing API key
    post:
      operationId: createPipeline
      summary: Create a pipeline
      description: Create a new document ingestion pipeline with specified configuration including parsing, embedding, and vector store settings.
      tags:
      - Pipelines
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePipelineRequest'
      responses:
        '201':
          description: Pipeline created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
        '400':
          description: Bad request - invalid pipeline configuration
        '401':
          description: Unauthorized - invalid or missing API key
  /pipelines/{pipelineId}:
    get:
      operationId: getPipeline
      summary: Get a pipeline
      description: Retrieve detailed information about a specific pipeline including its configuration, status, and associated resources.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/pipelineId'
      responses:
        '200':
          description: Successfully retrieved pipeline details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Pipeline not found
    delete:
      operationId: deletePipeline
      summary: Delete a pipeline
      description: Delete a pipeline and optionally its associated resources.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/pipelineId'
      responses:
        '200':
          description: Pipeline deleted successfully
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Pipeline not found
  /pipelines/{pipelineId}/sync:
    post:
      operationId: syncPipeline
      summary: Sync a pipeline
      description: Run ingestion for the pipeline by incrementally updating the data sink with upstream changes from data sources and files. This triggers a new ingestion job that processes any new or modified content.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/pipelineId'
      responses:
        '200':
          description: Pipeline sync initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineJob'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Pipeline not found
components:
  parameters:
    pipelineId:
      name: pipelineId
      in: path
      description: Unique identifier of the pipeline.
      required: true
      schema:
        type: string
  schemas:
    CreatePipelineRequest:
      type: object
      description: Request body for creating a new pipeline.
      required:
      - name
      - project_id
      properties:
        name:
          type: string
          description: Human-readable name for the new pipeline.
        project_id:
          type: string
          description: Identifier of the project to create the pipeline in.
        sync_interval:
          type: integer
          description: Optional scheduled sync frequency in seconds.
    Pipeline:
      type: object
      description: A document ingestion pipeline that processes, embeds, and indexes documents for retrieval.
      properties:
        id:
          type: string
          description: Unique identifier of the pipeline.
        name:
          type: string
          description: Human-readable name of the pipeline.
        project_id:
          type: string
          description: Identifier of the project the pipeline belongs to.
        status:
          type: string
          enum:
          - active
          - syncing
          - error
          - idle
          description: Current status of the pipeline.
        sync_interval:
          type: integer
          description: Scheduled sync frequency in seconds, if configured.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the pipeline was created.
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the pipeline was last updated.
    PipelineJob:
      type: object
      description: An ingestion job for a pipeline that tracks the processing of documents.
      properties:
        id:
          type: string
          description: Unique identifier of the job.
        pipeline_id:
          type: string
          description: Identifier of the pipeline 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.
  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/