Pinecone Vector Operations API

The Vector Operations API from Pinecone — 10 operation(s) for vector operations.

OpenAPI Specification

pinecone-vector-operations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Pinecone Admin API Keys Vector Operations API
  description: 'Provides an API for managing a Pinecone organization and its resources.

    '
  contact:
    name: Pinecone Support
    url: https://support.pinecone.io
    email: support@pinecone.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 2025-10
servers:
- url: https://api.pinecone.io
  description: Production API endpoints
security:
- BearerAuth: []
tags:
- name: Vector Operations
paths:
  /describe_index_stats:
    post:
      tags:
      - Vector Operations
      summary: Get index stats
      description: 'Return statistics about the contents of an index, including the vector count per namespace, the number of dimensions, and the index fullness.


        Serverless indexes scale automatically as needed, so index fullness is relevant only for pod-based indexes.'
      operationId: describeIndexStats
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeIndexStatsRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexDescription'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /query:
    post:
      tags:
      - Vector Operations
      summary: Search with a vector
      description: 'Search a namespace using a query vector. It retrieves the ids of the most similar items in a namespace, along with their similarity scores.


        For guidance, examples, and limits, see [Search](https://docs.pinecone.io/guides/search/search-overview).'
      operationId: queryVectors
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /vectors/delete:
    post:
      tags:
      - Vector Operations
      summary: Delete vectors
      description: 'Delete vectors by id from a single namespace.


        For guidance and examples, see [Delete data](https://docs.pinecone.io/guides/manage-data/delete-data).'
      operationId: deleteVectors
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /vectors/fetch:
    get:
      tags:
      - Vector Operations
      summary: Fetch vectors
      description: 'Look up and return vectors by ID from a single namespace. The returned vectors include the vector data and/or metadata.


        For on-demand indexes, since vector values are retrieved from object storage, fetch operations may have increased latency. If you only need metadata or IDs, consider using the query operation with `includeValues` set to `false` instead.


        For guidance and examples, see [Fetch data](https://docs.pinecone.io/guides/manage-data/fetch-data).'
      operationId: fetchVectors
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: query
        name: ids
        description: The vector IDs to fetch. Does not accept values containing spaces.
        required: true
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: namespace
        description: The namespace to fetch vectors from. If not provided, the default namespace is used.
        schema:
          type: string
        style: form
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /vectors/fetch_by_metadata:
    post:
      tags:
      - Vector Operations
      summary: Fetch vectors by metadata
      description: 'Look up and return vectors by metadata filter from a single namespace. The returned vectors include the vector data and/or metadata.

        For guidance and examples, see [Fetch data](https://docs.pinecone.io/guides/manage-data/fetch-data).'
      operationId: fetch_vectors_by_metadata
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchByMetadataRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchByMetadataResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /vectors/list:
    get:
      tags:
      - Vector Operations
      summary: List vector IDs
      description: 'List the IDs of vectors in a single namespace of a serverless index. An optional prefix can be passed to limit the results to IDs with a common prefix.


        Returns up to 100 IDs at a time by default in sorted order (bitwise "C" collation). If the `limit` parameter is set, `list` returns up to that number of IDs instead. Whenever there are additional IDs to return, the response also includes a `pagination_token` that you can use to get the next batch of IDs. When the response does not include a `pagination_token`, there are no more IDs to return.


        For guidance and examples, see [List record IDs](https://docs.pinecone.io/guides/manage-data/list-record-ids).


        **Note:** `list` is supported only for serverless indexes.'
      operationId: listVectors
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: query
        name: prefix
        description: The vector IDs to fetch. Does not accept values containing spaces.
        schema:
          type: string
        style: form
      - in: query
        name: limit
        description: Max number of IDs to return per page.
        schema:
          default: 100
          type: integer
          format: int64
        style: form
      - in: query
        name: paginationToken
        description: Pagination token to continue a previous listing operation.
        schema:
          type: string
        style: form
      - in: query
        name: namespace
        description: The namespace to list vectors from. If not provided, the default namespace is used.
        schema:
          type: string
        style: form
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /vectors/update:
    post:
      tags:
      - Vector Operations
      summary: Update a vector
      description: 'Update a vector in a namespace. If a value is included, it will overwrite the previous value. If a `set_metadata` is included, the values of the fields specified in it will be added or overwrite the previous value.


        For guidance and examples, see [Update data](https://docs.pinecone.io/guides/manage-data/update-data).'
      operationId: updateVector
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /vectors/upsert:
    post:
      tags:
      - Vector Operations
      summary: Upsert vectors
      description: 'Upsert vectors into a namespace. If a new value is upserted for an existing vector ID, it will overwrite the previous value.


        For guidance, examples, and limits, see [Upsert data](https://docs.pinecone.io/guides/index-data/upsert-data).'
      operationId: upsertVectors
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /records/namespaces/{namespace}/upsert:
    post:
      tags:
      - Vector Operations
      summary: Upsert text
      description: 'Upsert text into a namespace. Pinecone converts the text to vectors automatically using the hosted embedding model associated with the index.


        Upserting text is supported only for [indexes with integrated embedding](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models).


        For guidance, examples, and limits, see [Upsert data](https://docs.pinecone.io/guides/index-data/upsert-data).'
      operationId: upsertRecordsNamespace
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: namespace
        description: The namespace to upsert records into.
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        description: 'Each record in the request body must include an `_id` field and a field that matches your index''s `field_map` configuration (such as `chunk_text` or `data`). All other fields are stored as metadata.

          '
        content:
          application/x-ndjson:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UpsertRecord'
        required: true
      responses:
        '201':
          description: A successful response.
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
  /records/namespaces/{namespace}/search:
    post:
      tags:
      - Vector Operations
      summary: Search with text
      description: "Search a namespace with a query text, query vector, or record ID and return the most similar records, along with their similarity scores. Optionally, rerank the initial results based on their relevance to the query. \n\nSearching with text is supported only for indexes with [integrated embedding](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding). Searching with a query vector or record ID is supported for all indexes. \n\nFor guidance and examples, see [Search](https://docs.pinecone.io/guides/search/search-overview)."
      operationId: searchRecordsNamespace
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: namespace
        description: The namespace to search.
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRecordsRequest'
        required: true
      responses:
        '200':
          description: A successful search namespace response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRecordsResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
components:
  schemas:
    Vector:
      type: object
      properties:
        id:
          example: example-vector-1
          description: This is the vector's unique id.
          type: string
          required:
          - id
          minLength: 1
          maxLength: 512
        values:
          example:
          - 0.1
          - 0.2
          - 0.3
          - 0.4
          - 0.5
          - 0.6
          - 0.7
          - 0.8
          description: This is the vector data included in the request.
          type: array
          required:
          - values
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseValues:
          $ref: '#/components/schemas/SparseValues'
        metadata:
          example:
            genre: documentary
            year: 2019
          description: This is the metadata included in the request.
          type: object
      required:
      - id
    DeleteRequest:
      description: The request for the `delete` operation.
      type: object
      properties:
        ids:
          example:
          - id-0
          - id-1
          description: Vectors to delete.
          type: array
          items:
            type: string
          minLength: 1
          maxLength: 1000
        deleteAll:
          example: false
          description: This indicates that all vectors in the index namespace should be deleted.
          default: false
          type: boolean
        namespace:
          example: example-namespace
          description: The namespace to delete vectors from, if applicable.
          type: string
        filter:
          description: If specified, the metadata filter here will be used to select the vectors to delete. This is mutually exclusive with specifying ids to delete in the ids param or using delete_all=True. See [Delete data](https://docs.pinecone.io/guides/manage-data/delete-data#delete-records-by-metadata).
          type: object
    DeleteResponse:
      description: The response for the `delete` operation.
      type: object
    ListItem:
      type: object
      properties:
        id:
          example: document1#abb
          type: string
    QueryVector:
      deprecated: true
      description: A single query vector within a `QueryRequest`.
      type: object
      properties:
        values:
          example:
          - 0.1
          - 0.2
          - 0.3
          - 0.4
          - 0.5
          - 0.6
          - 0.7
          - 0.8
          description: The query vector values. This should be the same length as the dimension of the index being queried.
          type: array
          required:
          - values
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseValues:
          $ref: '#/components/schemas/SparseValues'
        topK:
          example: 10
          description: An override for the number of results to return for this query vector.
          type: integer
          format: int64
          minimum: 1
          maximum: 10000
        namespace:
          example: example-namespace
          description: An override the namespace to search.
          type: string
        filter:
          example:
            genre:
              $in:
              - comedy
              - documentary
              - drama
            year:
              $eq: 2019
          description: An override for the metadata filter to apply. This replaces the request-level filter.
          type: object
      required:
      - values
    UpsertRecord:
      example:
        _id: example-record-1
      description: The request for the `upsert` operation.
      type: object
      properties:
        _id:
          description: The unique ID of the record to upsert. Note that `id` can be used as an alias for `_id`.
          type: string
      required:
      - _id
    Hit:
      example:
        _id: example-record-1
        _score: 0.9281134605407715
        fields:
          data: your example text
          more_data:
            text: your example text
      description: A record whose vector values are similar to the provided search query.
      type: object
      properties:
        _id:
          description: The record id of the search hit.
          type: string
        _score:
          description: The similarity score of the returned record.
          type: number
          format: float
        fields:
          description: The selected record fields associated with the search hit.
          type: object
      required:
      - _id
      - _score
      - fields
    UpsertRequest:
      description: The request for the `upsert` operation.
      type: object
      properties:
        vectors:
          description: An array containing the vectors to upsert. Recommended batch limit is up to 1000 vectors.
          type: array
          items:
            $ref: '#/components/schemas/Vector'
          minLength: 1
          maxLength: 1000
        namespace:
          example: example-namespace
          description: The namespace where you upsert vectors.
          type: string
      required:
      - vectors
    VectorValues:
      description: This is the vector data included in the request.
      type: array
      items:
        type: number
        format: float
      minLength: 1
      maxLength: 20000
    ListResponse:
      description: The response for the `list` operation.
      type: object
      properties:
        vectors:
          example:
          - id: document1#abb
          - id: document1#abc
          title: A list of ids
          type: array
          items:
            $ref: '#/components/schemas/ListItem'
        pagination:
          $ref: '#/components/schemas/Pagination'
        namespace:
          example: example-namespace
          description: The namespace of the vectors.
          type: string
        usage:
          $ref: '#/components/schemas/Usage'
    ScoredVector:
      type: object
      properties:
        id:
          example: example-vector-1
          description: This is the vector's unique id.
          type: string
          required:
          - id
          minLength: 1
          maxLength: 512
        score:
          example: 0.08
          description: This is a measure of similarity between this vector and the query vector.  The higher the score, the more they are similar.
          type: number
          format: float
        values:
          example:
          - 0.1
          - 0.2
          - 0.3
          - 0.4
          - 0.5
          - 0.6
          - 0.7
          - 0.8
          description: This is the vector data, if it is requested.
          type: array
          items:
            type: number
            format: float
        sparseValues:
          $ref: '#/components/schemas/SparseValues'
        metadata:
          example:
            genre: documentary
            year: 2019
          description: This is the metadata, if it is requested.
          type: object
      required:
      - id
    SearchRecordsVector:
      type: object
      properties:
        values:
          $ref: '#/components/schemas/VectorValues'
        sparse_values:
          example:
          - 0.1
          - 0.2
          - 0.3
          description: The sparse embedding values.
          type: array
          items:
            type: number
            format: float
        sparse_indices:
          example:
          - 10
          - 3
          - 156
          description: The sparse embedding indices.
          type: array
          items:
            type: integer
            format: int32
            minimum: 0
    Usage:
      type: object
      properties:
        readUnits:
          example: 5
          description: The number of read units consumed by this operation.
          type: integer
          format: int64
    IndexDescription:
      example:
        dimension: 1024
        index_fullness: 0.4
        namespaces:
          ? ''
          : vectorCount: 50000
          example-namespace-2:
            vectorCount: 30000
        totalVectorCount: 80000
      description: The response for the `describe_index_stats` operation.
      type: object
      properties:
        namespaces:
          description: A mapping for each namespace in the index from the namespace name to a summary of its contents. If a metadata filter expression is present, the summary will reflect only vectors matching that expression.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/NamespaceSummary'
        dimension:
          example: 1024
          description: The dimension of the indexed vectors. Not specified if `sparse` index.
          type: integer
          format: int64
        indexFullness:
          example: 0.4
          description: 'The fullness of the index, regardless of whether a metadata filter expression was passed. The granularity of this metric is 10%.


            Serverless indexes scale automatically as needed, so index fullness  is relevant only for pod-based indexes.


            The index fullness result may be inaccurate during pod resizing; to get the status of a pod resizing process, use [`describe_index`](https://docs.pinecone.io/reference/api/2024-10/control-plane/describe_index).'
          type: number
          format: float
        totalVectorCount:
          example: 80000
          description: The total number of vectors in the index, regardless of whether a metadata filter expression was passed
          type: integer
          format: int64
        metric:
          example: cosine
          description: The metric used to measure similarity.
          type: string
        vectorType:
          example: dense
          description: The type of vectors stored in the index.
          type: string
        memory_fullness:
          description: The amount of memory used by a dedicated index
          type: number
          format: float
        storage_fullness:
          description: The amount of storage used by a dedicated index
          type: number
          format: float
    EmbedInputs:
      example:
        text: chunk_text
      type: object
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    protobufAny:
      type: object
      properties:
        typeUrl:
          type: string
        value:
          type: string
          format: byte
    SparseValues:
      description: Vector sparse data. Represented as a list of indices and a list of  corresponded values, which must be with the same length.
      type: object
      properties:
        indices:
          example:
          - 1
          - 312
          - 822
          - 14
          - 980
          description: The indices of the sparse data.
          type: array
          required:
          - indices
          items:
            type: integer
            format: int64
          minLength: 1
          maxLength: 1000
        values:
          example:
          - 0.1
          - 0.2
          - 0.3
          - 0.4
          - 0.5
          description: The corresponding values of the sparse data, which must be with the same length as the indices.
          type: array
          required:
          - values
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 1000
      required:
      - indices
      - values
    UpdateRequest:
      description: The request for the `update` operation.
      type: object
      properties:
        id:
          example: example-vector-1
          description: Vector's unique id.
          type: string
          minLength: 1
          maxLength: 512
        values:
          example:
          - 0.1
          - 0.2
          - 0.3
          - 0.4
          - 0.5
          - 0.6
          - 0.7
          - 0.8
          description: Vector data.
          type: array
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseValues:
          $ref: '#/components/schemas/SparseValues'
        setMetadata:
          example:
            genre: documentary
            year: 2019
          description: Metadata to set for the vector.
          type: object
        namespace:
          example: example-namespace
          description: The namespace containing the vector to update.
          type: string
        filter:
          example:
            genre:
              $in:
              - comedy
              - documentary
              - drama
            year:
              $eq: 2019
          description: A metadata filter expression. When updating metadata across records in a namespace,  the update is applied to all records that match the filter.  See [Understanding metadata](https://docs.pinecone.

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pinecone/refs/heads/main/openapi/pinecone-vector-operations-api-openapi.yml