Pinecone Vector Operations API
The Vector Operations API from Pinecone — 10 operation(s) for vector operations.
The Vector Operations API from Pinecone — 10 operation(s) for vector operations.
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