Vectara · Capability

Vectara Indexing API — Documents

Vectara Indexing API — Documents. Upload, add, update, and delete documents inside a Vectara corpus. Supports structured (Core) indexing and unstructured file upload. Self-contained Naftiko capability.

Vectara Indexing API — Documents is a Naftiko capability published by Vectara, one of 5 capabilities the APIs.io network indexes for this provider. It bundles 3 operations across the POST and GET methods rooted at /v1/v2/corpora/{…}.

Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Vectara, Documents, and Indexing.

Run with Naftiko VectaraDocumentsIndexing

What You Can Do

POST
Uploadfile
/v1/v2/corpora/{corpus_key}/upload_file
GET
Listdocuments
/v1/v2/corpora/{corpus_key}/documents
POST
Adddocument
/v1/v2/corpora/{corpus_key}/documents

Capability Spec

indexing-documents.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Vectara Indexing API — Documents
  description: 'Vectara Indexing API — Documents. Upload, add, update, and delete documents inside a Vectara corpus. Supports
    structured (Core) indexing and unstructured file upload. Self-contained Naftiko capability.'
  tags:
  - Vectara
  - Documents
  - Indexing
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    VECTARA_API_KEY: VECTARA_API_KEY
capability:
  consumes:
  - type: http
    namespace: indexing-documents
    baseUri: https://api.vectara.io
    resources:
    - name: v2-corpora-upload-file
      path: /v2/corpora/{corpus_key}/upload_file
      operations:
      - name: uploadfile
        method: POST
        description: Upload an unstructured file (PDF, DOCX, HTML, etc.) and index it.
        outputRawFormat: json
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
        - name: file
          in: body
          type: string
          required: true
    - name: v2-corpora-documents
      path: /v2/corpora/{corpus_key}/documents
      operations:
      - name: listdocuments
        method: GET
        description: List documents in a corpus.
        outputRawFormat: json
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
      - name: adddocument
        method: POST
        description: Add a structured (Core) document.
        outputRawFormat: json
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
      - name: bulkdeletedocuments
        method: DELETE
        description: Bulk delete documents by metadata filter.
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
        - name: metadata_filter
          in: query
          type: string
          required: true
    - name: v2-corpora-documents-by-id
      path: /v2/corpora/{corpus_key}/documents/{document_id}
      operations:
      - name: getdocument
        method: GET
        outputRawFormat: json
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
        - name: document_id
          in: path
          type: string
          required: true
      - name: updatedocument
        method: PATCH
        outputRawFormat: json
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
        - name: document_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
      - name: deletedocument
        method: DELETE
        inputParameters:
        - name: corpus_key
          in: path
          type: string
          required: true
        - name: document_id
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: x-api-key
      value: '{{env.VECTARA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: indexing-documents-rest
    port: 8080
    description: REST adapter for Vectara Indexing.
    resources:
    - path: /v1/v2/corpora/{corpus_key}/upload_file
      name: v2-corpora-upload-file
      operations:
      - method: POST
        name: uploadfile
        call: indexing-documents.uploadfile
    - path: /v1/v2/corpora/{corpus_key}/documents
      name: v2-corpora-documents
      operations:
      - method: GET
        name: listdocuments
        call: indexing-documents.listdocuments
      - method: POST
        name: adddocument
        call: indexing-documents.adddocument
        with:
          body: rest.body