Skip to main content
PATCH
/
indexes
/
{index_name}
# pip install --upgrade pinecone
import os
from pinecone import Pinecone

pc = Pinecone(api_key=os.environ["PINECONE_API_KEY"])

pc.preview.indexes.configure(
    name="articles",
    deletion_protection="enabled",
)
// Status: 200 OK — returns the updated index configuration (same shape as describe_index)
{
  "id": "e51ea4e1-2dda-4607-94dc-9054b1fa8492",
  "name": "articles",
  "host": "articles-jweaq8m.svc.aped-4627-b74a.pinecone.io",
  "status": { "ready": true, "state": "Ready" },
  "deployment": {
    "deployment_type": "managed",
    "cloud": "aws",
    "region": "us-east-1",
    "environment": "aped-4627-b74a"
  },
  "schema": {
    "version": "v1",
    "fields": {
      "title": { "type": "string", "full_text_search": { "language": "en", "stemming": false, "stop_words": false, "lowercase": true, "max_token_length": 40 } }
    }
  },
  "read_capacity": { "mode": "OnDemand", "status": { "state": "Ready" } },
  "tags": null,
  "deletion_protection": "enabled"
}

Documentation Index

Fetch the complete documentation index at: https://docs.pinecone.io/llms.txt

Use this file to discover all available pages before exploring further.

Full-text search is in public preview and uses API version 202601-alpha. APIs may continue to evolve before general availability.
Updates configuration on an existing schema-defined index. In public preview, you can update deletion_protection, tags, and read_capacity (for example, converting from OnDemand to Dedicated). The schema itself is immutable — to change field types or add new indexed fields, create a new index and re-upsert. This is a partial update: only the fields you include in the request body are modified. Unspecified fields are left unchanged. To clear tags, send "tags": {}.
# pip install --upgrade pinecone
import os
from pinecone import Pinecone

pc = Pinecone(api_key=os.environ["PINECONE_API_KEY"])

pc.preview.indexes.configure(
    name="articles",
    deletion_protection="enabled",
)
// Status: 200 OK — returns the updated index configuration (same shape as describe_index)
{
  "id": "e51ea4e1-2dda-4607-94dc-9054b1fa8492",
  "name": "articles",
  "host": "articles-jweaq8m.svc.aped-4627-b74a.pinecone.io",
  "status": { "ready": true, "state": "Ready" },
  "deployment": {
    "deployment_type": "managed",
    "cloud": "aws",
    "region": "us-east-1",
    "environment": "aped-4627-b74a"
  },
  "schema": {
    "version": "v1",
    "fields": {
      "title": { "type": "string", "full_text_search": { "language": "en", "stemming": false, "stop_words": false, "lowercase": true, "max_token_length": 40 } }
    }
  },
  "read_capacity": { "mode": "OnDemand", "status": { "state": "Ready" } },
  "tags": null,
  "deletion_protection": "enabled"
}

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:202601-alpha
required

Required date-based version header

Path Parameters

index_name
string
required

The name of the index to configure.

Body

application/json

The configuration changes to apply to the index.

Configuration updates to apply to an existing index. All fields are optional; only the fields you include are modified.

  • deployment: Update pod-based scaling parameters (replicas, pod_type).

    Deployment type and cloud/region cannot be changed.

  • schema: Update semantic_text field embedding parameters. Only

    write_parameters and read_parameters may be changed; the model cannot be changed after creation.

  • read_capacity: Update read capacity mode or dedicated node configuration

    for managed and BYOC indexes. Not applicable to pod-based indexes.

  • tags: Update or delete index tags. Setting a tag value to "" removes

    the tag.

  • deletion_protection: Enable or disable deletion protection.

deployment
Pod-based · object

Deployment update parameters for pod-based indexes. Specify replicas, pod_type, or both. Deployment type, cloud/region, and environment cannot be changed after creation. Do not include a deployment_type field; it is not accepted.

Example:
{ "replicas": 4 }
schema
object

Schema updates to apply to an existing index. Only semantic_text field parameters can be updated after index creation. The model itself cannot be changed once set; only write_parameters and read_parameters may be updated if the model stays the same.

Example:
{
"fields": {
"content": {
"read_parameters": { "input_type": "query", "truncate": "NONE" },
"type": "semantic_text",
"write_parameters": { "input_type": "passage" }
}
}
}
read_capacity
On-demand · object

By default the index will be created with read capacity mode OnDemand. If you prefer to allocate dedicated read nodes for your workload, you must specify mode Dedicated and additional configurations for node_type and scaling.

Example:
{ "mode": "OnDemand" }
tags
object

Custom user tags added to an index. Keys must be 80 characters or less. Values must be 120 characters or less. Keys must be alphanumeric, '', or '-'. Values must be alphanumeric, ';', '@', '', '-', '.', '+', or ' '. To unset a key, set the value to be an empty string.

Example:
{ "tag0": "val0", "tag1": "val1" }
deletion_protection
string
default:disabled

Whether deletion protection is enabled/disabled for the index. Possible values: disabled or enabled.

Response

The request to configure the index has been accepted. Check the index status to see when the change has been applied.

The IndexModel describes the configuration and status of a Pinecone index.

name
string
required

The name of the index. Resource name must be 1-45 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or '-'.

Required string length: 1 - 45
Example:

"example-index"

host
string
required

The URL address where the index is hosted.

Example:

"semantic-search-c01b5b5.svc.us-west1-gcp.pinecone.io"

status
object
required

The current status of the index.

Example:
{ "ready": true, "state": "Ready" }
deployment
Pod-based · object
required

The deployment configuration of a Pinecone index. The deployment_type field indicates which infrastructure model the index uses.

  • pod: Dedicated pod-based infrastructure. Suitable for workloads that

    require predictable performance.

  • managed: Serverless infrastructure managed by Pinecone, including

    full-text search indexes. Scales automatically; billed per usage.

  • byoc: Bring-your-own-compute. Runs in customer-managed infrastructure.

Example:
{
"deployment_type": "pod",
"environment": "us-east1-gcp",
"pod_type": "p1.x1",
"replicas": 1,
"shards": 1
}
schema
object
required

The schema of a Pinecone index. The schema defines the typed fields that documents in the index can contain, including vector fields, semantic text fields, and metadata fields.

Example:
{
"fields": {
"embedding": {
"dimension": 1536,
"metric": "cosine",
"type": "dense_vector"
},
"title": {
"full_text_search": { "language": "en" },
"type": "string"
}
}
}
deletion_protection
string
default:disabled
required

Whether deletion protection is enabled/disabled for the index. Possible values: disabled or enabled.

private_host
string

The private endpoint URL of an index.

Example:

"semantic-search-c01b5b5.svc.private.us-west1-gcp.pinecone.io"

read_capacity
On-demand · object

Response containing read capacity configuration

Example:
{
"mode": "OnDemand",
"status": { "state": "Ready" }
}
source_collection
string

The name of the collection this index was created from, if any.

Example:

"movie-embeddings"

source_backup_id
string

The ID of the backup this index was restored from, if any.

Example:

"670e8400-e29b-41d4-a716-446655440000"

cmek_id
string

The ID of the customer-managed encryption key (CMEK) used to encrypt this index, if any.

Example:

"arn:aws:kms:us-east-1:123456789012:key/mrk-abc123"

tags
object

Custom user tags added to an index. Keys must be 80 characters or less. Values must be 120 characters or less. Keys must be alphanumeric, '', or '-'. Values must be alphanumeric, ';', '@', '', '-', '.', '+', or ' '. To unset a key, set the value to be an empty string.

Example:
{ "tag0": "val0", "tag1": "val1" }