Update a record
Update records by ID or by metadata in a namespace. Updating by ID changes the vector and/or metadata of a single record. Updating by metadata changes metadata across multiple records using a metadata filter.
If a vector value is included, it will overwrite the previous value. If set_metadata is included, only the specified metadata fields are modified, and if a specified metadata field does not exist, it is added.
For guidance and examples, see Update data.
# 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: 2026-07" \
-d '{
"id": "id-3",
"values": [4.0, 2.0],
"setMetadata": {"type": "comedy"},
"namespace": "example-namespace"
}'POST /vectors/update
Parameters
Section titled “Parameters”X-Pinecone-Api-Version(header, string, required) — Required date-based version header
Request body
Section titled “Request body”id(body, string) — Vector's unique id.values(body, number[]) — Vector data.sparseValues(body, object) — Vector sparse data. Represented as a list of indices and a list of corresponded values, which must be with the same length.setMetadata(body, object) — Metadata to set for the record. Field names may not begin with$, which is reserved for filter operators.namespace(body, string) — The namespace containing the record to update.filter(body, 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.dryRun(body, boolean) — Iftrue, return the number of records that match thefilter, but do not execute the update. Default isfalse.
Responses
Section titled “Responses”200— A successful response.400— Bad request. The request body included invalid request parameters.401— Unauthorized. Possible causes: missing or invalid API key.4XX— An unexpected error response.5XX— An unexpected error response.