Skip to main content
POST
/
vectors
/
update
# To get the unique host for an index,
# see https://docs.pinecone.io/guides/manage-data/target-an-index
PINECONE_API_KEY="YOUR_API_KEY"
INDEX_HOST="INDEX_HOST"

curl "https://$INDEX_HOST/vectors/update" \
  -H "Api-Key: $PINECONE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Pinecone-Api-Version: 2025-10" \
  -d '{
        "id": "id-3",
        "values": [4.0, 2.0],
        "setMetadata": {"type": "comedy"},
        "namespace": "example-namespace"
      }'
{}
# To get the unique host for an index,
# see https://docs.pinecone.io/guides/manage-data/target-an-index
PINECONE_API_KEY="YOUR_API_KEY"
INDEX_HOST="INDEX_HOST"

curl "https://$INDEX_HOST/vectors/update" \
  -H "Api-Key: $PINECONE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Pinecone-Api-Version: 2025-10" \
  -d '{
        "id": "id-3",
        "values": [4.0, 2.0],
        "setMetadata": {"type": "comedy"},
        "namespace": "example-namespace"
      }'
{}

Authorizations

Api-Key
string
header
required

An API Key is required to call Pinecone APIs. Get yours from the console.

Headers

X-Pinecone-Api-Version
string
default:2025-10
required

Required date-based version header

Body

application/json

The request for the update operation.

id
string

Vector's unique id.

Required string length: 1 - 512
Example:

"example-vector-1"

values
number[]

Vector data.

Example:
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
sparseValues
object

Vector sparse data. Represented as a list of indices and a list of corresponded values, which must be with the same length.

setMetadata
object

Metadata to set for the vector.

Example:
{ "genre": "documentary", "year": 2019 }
namespace
string

The namespace containing the vector to update.

Example:

"example-namespace"

filter
object

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.

Example:
{
"genre": { "$in": ["comedy", "documentary", "drama"] },
"year": { "$eq": 2019 }
}
dryRun
boolean
default:false

If true, return the number of records that match the filter, but do not execute the update. Default is false.

Example:

false

Response

A successful response.

The response for the update operation.

matchedRecords
integer

The number of records that matched the filter (if a filter was provided).

Example:

42