Vespa Visit API

Bulk visit (iteration) operations

OpenAPI Specification

vespa-visit-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Vespa Document Documents Visit API
  version: '1'
  description: 'The Vespa /document/v1 REST API supports GET, POST, PUT, and DELETE

    operations against documents stored in a Vespa application, including

    visiting (bulk read) across namespaces and document types. Vespa is an

    open-source serving engine for big-data, vector search, and recommendations.

    Endpoints are exposed on the Vespa container nodes. Authentication, when

    enabled, uses mutual TLS (client certificate) or, for Vespa Cloud, signed

    requests / API keys.

    '
  contact:
    name: Vespa Documentation
    url: https://docs.vespa.ai/en/document-v1-api-guide.html
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: http://{vespa_endpoint}/document/v1
  description: Vespa container document API base URL
  variables:
    vespa_endpoint:
      default: localhost:8080
      description: Host:port of the Vespa container exposing /document/v1
security:
- mtls: []
tags:
- name: Visit
  description: Bulk visit (iteration) operations
paths:
  /{namespace}/{doctype}/docid:
    parameters:
    - $ref: '#/components/parameters/namespace'
    - $ref: '#/components/parameters/doctype'
    get:
      tags:
      - Visit
      summary: Visit all documents of a given namespace and document type
      operationId: visitNamespaceDoctype
      parameters:
      - $ref: '#/components/parameters/selection'
      - $ref: '#/components/parameters/continuation'
      - $ref: '#/components/parameters/timeout'
      - $ref: '#/components/parameters/concurrency'
      - $ref: '#/components/parameters/slices'
      - $ref: '#/components/parameters/stream'
      responses:
        '200':
          description: Visit results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitResult'
  /:
    get:
      tags:
      - Visit
      summary: Visit all documents across namespaces in a content cluster
      operationId: visitCluster
      parameters:
      - name: cluster
        in: query
        required: true
        schema:
          type: string
        description: Content cluster name to visit
      - $ref: '#/components/parameters/selection'
      - $ref: '#/components/parameters/continuation'
      - $ref: '#/components/parameters/timeout'
      - $ref: '#/components/parameters/concurrency'
      - $ref: '#/components/parameters/slices'
      - $ref: '#/components/parameters/stream'
      responses:
        '200':
          description: Visit results
components:
  parameters:
    doctype:
      name: doctype
      in: path
      required: true
      schema:
        type: string
      description: Schema document type name
    continuation:
      name: continuation
      in: query
      schema:
        type: string
      description: Opaque continuation token for paginated visits
    stream:
      name: stream
      in: query
      schema:
        type: boolean
      description: Enable HTTP response streaming
    slices:
      name: slices
      in: query
      schema:
        type: integer
      description: Number of parallel visit partitions
    timeout:
      name: timeout
      in: query
      schema:
        type: string
      description: Operation timeout, e.g. "5s"
    namespace:
      name: namespace
      in: path
      required: true
      schema:
        type: string
      description: Document namespace identifier
    concurrency:
      name: concurrency
      in: query
      schema:
        type: integer
      description: Backend request concurrency
    selection:
      name: selection
      in: query
      schema:
        type: string
      description: Document selection expression for filtering
  schemas:
    VisitResult:
      type: object
      properties:
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        continuation:
          type: string
        documentCount:
          type: integer
    Document:
      type: object
      properties:
        id:
          type: string
        fields:
          type: object
          additionalProperties: true
  securitySchemes:
    mtls:
      type: mutualTLS
      description: Client certificate authentication (Vespa enforces mTLS when configured)