> ## Documentation Index
> Fetch the complete documentation index at: https://docs.case.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Ingest vault object

> Triggers ingestion workflow for a vault object to extract text, generate chunks, and create embeddings. For supported file types (PDF, DOCX, PPTX, XLSX, TXT, RTF, XML, HTML, Markdown, CSV/TSV, JSON/YAML/TOML, common source code files, ZIP, audio, video), processing happens asynchronously. ZIP archives are unpacked recursively up to 5 levels, and each extracted file is created as an independent vault object and ingested via the normal pipeline. For unsupported types (images, etc.), the file is marked as completed immediately without text extraction. GraphRAG indexing must be triggered separately via POST /vault/:id/graphrag/:objectId.



## OpenAPI

````yaml /openapi.json post /vault/{id}/ingest/{objectId}
openapi: 3.1.0
info:
  title: Case.dev API
  description: >-
    The AI-native platform for legal technology. Build smarter legal
    applications with our suite of AI-powered APIs.
  version: 1.0.0
  contact:
    name: Case.dev Support
    email: support@casemark.com
    url: https://case.dev
  license:
    name: Proprietary
    url: https://case.dev/terms
servers:
  - url: https://api.case.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Vaults
    description: Secure document storage with semantic search and GraphRAG
  - name: Memory
    description: >-
      Persistent memory for AI agents with semantic search and 12 generic
      indexed tag fields
  - name: OCR
    description: Extract text from PDFs, images, and scanned documents
  - name: Voice
    description: Audio transcription and text-to-speech
  - name: LLMs
    description: Access 40+ language models through a unified API
  - name: Search
    description: Web search, AI answers, and deep research
  - name: Mail
    description: Managed inboxes for agent email workflows
  - name: Media
    description: Transcript retrieval and captioned media clip generation
  - name: Legal
    description: Legal research tools including citation verification
  - name: Privilege
    description: Privilege detection for e-discovery and litigation workflows
  - name: Compute
    description: Serverless GPU and CPU infrastructure
  - name: Format
    description: Document formatting and template rendering (MD/JSON to PDF/DOCX)
  - name: SuperDoc
    description: Document conversion and template automation
  - name: Webhooks
    description: Webhook endpoint management
  - name: System
    description: Public system metadata and discovery endpoints
  - name: Usage
    description: Usage reporting and webhook subscriptions
  - name: Database
    description: Serverless PostgreSQL databases with instant branching
  - name: Translation
    description: Language detection and translation for multilingual legal workflows
  - name: Skills
    description: Search and read legal AI skills for agents
  - name: Agents
    description: >-
      Create, manage, and execute AI agents with tool access, sandbox
      environments, and async run workflows
  - name: Matters
    description: Matter-native legal workspaces and orchestration primitives
  - name: Applications Projects
    description: Web application project management
  - name: Applications Deployments
    description: Web application deployment management
  - name: Applications Domains
    description: Custom domain configuration for applications
  - name: Applications Env Vars
    description: Environment variable management for applications
paths:
  /vault/{id}/ingest/{objectId}:
    post:
      tags:
        - Vaults
      summary: Ingest vault object
      description: >-
        Triggers ingestion workflow for a vault object to extract text, generate
        chunks, and create embeddings. For supported file types (PDF, DOCX,
        PPTX, XLSX, TXT, RTF, XML, HTML, Markdown, CSV/TSV, JSON/YAML/TOML,
        common source code files, ZIP, audio, video), processing happens
        asynchronously. ZIP archives are unpacked recursively up to 5 levels,
        and each extracted file is created as an independent vault object and
        ingested via the normal pipeline. For unsupported types (images, etc.),
        the file is marked as completed immediately without text extraction.
        GraphRAG indexing must be triggered separately via POST
        /vault/:id/graphrag/:objectId.
      operationId: ingestVaultObject
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Vault ID
        - name: objectId
          in: path
          required: true
          schema:
            type: string
          description: Vault object ID
      responses:
        '200':
          description: Ingestion workflow started successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  objectId:
                    type: string
                    description: ID of the vault object being processed
                  workflowId:
                    type: string
                    nullable: true
                    description: >-
                      Workflow run ID for tracking progress. Null for file types
                      that skip processing.
                  status:
                    type: string
                    enum:
                      - processing
                      - stored
                    description: >-
                      Current ingestion status. 'stored' for file types without
                      text extraction (no chunks/vectors created).
                  message:
                    type: string
                    description: Human-readable status message
                  enableGraphRAG:
                    type: boolean
                    description: >-
                      Always false - GraphRAG must be triggered separately via
                      POST /vault/:id/graphrag/:objectId
                required:
                  - objectId
                  - workflowId
                  - status
                  - message
                  - enableGraphRAG
              example:
                objectId: obj_abc123
                workflowId: wf_def456
                status: processing
                message: >-
                  Document ingestion started. Text extraction, chunking, and
                  embedding generation in progress.
                enableGraphRAG: false
        '400':
          description: Invalid request parameters
        '401':
          description: Invalid or missing API key
        '404':
          description: Vault or object not found
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key starting with `sk_case_`

````