Skip to main content
POST
The index initializes asynchronously. Before sending data plane requests, poll Describe an index until status.ready is true (and, for Dedicated read capacity, until read_capacity.status.state is "Ready"). The response shows each full_text_search field’s resolved analyzer settings (language, stemming, and stop_words), including any defaults applied at creation.

Cloud regions

For managed (serverless) indexes, the cloud and region fields in deployment accept the following values: The cloud and region can’t be changed after a serverless index is created.
On the Starter plan, you can create serverless indexes in the us-east-1 region of AWS only. To create indexes in other regions, upgrade to the Builder, Standard, or Enterprise plan.
For BYOC indexes, set deployment.environment to the environment ID provisioned for your account instead. See Bring Your Own Cloud for details.

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:2026-07
required

Required date-based version header

Body

application/json

Configuration for a new index.

The schema field is required and defines the typed fields for the index. The deployment field selects infrastructure and defaults to managed (serverless) on AWS us-east-1 if omitted. The name is auto-generated if not provided.

schema
object
required

The schema to use when creating a Pinecone index. Defines the fields the index searches over: dense vector, sparse vector, and full-text search fields.

At least one of dense_vector, sparse_vector, or a string field with full_text_search must be present; an empty fields map is rejected. At most one dense_vector and one sparse_vector field, and at most 100 full_text_search fields. Metadata used for filtering is not declared in the schema; it is indexed automatically from the documents you upsert.

Example:
name
string

The name of the index. Must be unique within the project, start and end with an alphanumeric character, and contain only lower case alphanumeric characters or '-'. Generated automatically if not provided.

Required string length: 1 - 45
Example:

"example-index"

deployment
Serverless · object

The deployment configuration for index creation. The deployment_type field selects the infrastructure model. Defaults to managed (serverless) in us-east-1 on aws if omitted.

  • managed: Serverless infrastructure managed by Pinecone, including full-text search indexes.
  • byoc: Bring-your-own-compute.
Example:
cmek_id
string

The ID of a customer-managed encryption key (CMEK) to use for this index. Requires CMEK to be enabled for your organization. Encrypted indexes cannot have full_text_search fields: a request that sets cmek_id and declares one is rejected, and a project that enforces CMEK rejects any schema with a full_text_search field with 412.

Example:

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

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. BYOC indexes do not support OnDemand: a byoc deployment must set mode: Dedicated explicitly, since omitting read_capacity defaults to OnDemand and is rejected.

Example:
tags
object | null

Custom user tags added to an index, at most 20 per index. Keys must be 80 characters or less and alphanumeric, '_', or '-'. Values must be 120 characters or less and consist of printable ASCII characters or spaces. To unset a key, set the value to be an empty string. null in responses when the index has no tags.

Example:
deletion_protection
string
default:disabled

Whether deletion protection is enabled/disabled for the index.

Possible values: disabled or enabled.

Response

The index has been successfully created.

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:
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:
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:
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:
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 | null

Custom user tags added to an index, at most 20 per index. Keys must be 80 characters or less and alphanumeric, '_', or '-'. Values must be 120 characters or less and consist of printable ASCII characters or spaces. To unset a key, set the value to be an empty string. null in responses when the index has no tags.

Example: