POST
/
indexes
# pip install pinecone[grpc]
# Serverless index
from pinecone.grpc import PineconeGRPC as Pinecone
from pinecone import ServerlessSpec

pc = Pinecone(api_key="YOUR_API_KEY")

pc.create_index(
  name="example-index1",
  dimension=1536,
  metric="cosine",
  spec=ServerlessSpec(
    cloud="aws",
    region="us-east-1",
  ),
  deletion_protection="disabled"
)

# Pod-based index
from pinecone.grpc import PineconeGRPC as Pinecone, PodSpec

pc = Pinecone(api_key="YOUR_API_KEY")

pc.create_index(
  name="example-index2",
  dimension=1536,
  metric="cosine",
  spec=PodSpec(
    environment="us-west1-gcp",
    pod_type="p1.x1",
    pods=1,
  ),
  deletion_protection="disabled"
)
# Serverless index
{
    "name": "example-index1",
    "metric": "cosine",
    "dimension": 1536,
    "status": {
        "ready": true,
        "state": "Ready"
    },
    "host": "example-index1-4zo0ijk.svc.dev-us-west2-aws.pinecone.io",
    "spec": {
        "serverless": {
            "region": "us-east-1",
            "cloud": "aws"
        }
    }
}

# Pod-based index
{
    "name": "example-index2",
    "metric": "cosine",
    "dimension": 1536,
    "status": {
        "ready": true,
        "state": "Ready"
    },
    "host": "example-index2-4zo0ijk.svc.us-west1-gcp.pinecone.io",
    "spec": {
        "pod": {
            "replicas": 1,
            "shards": 1,
            "pods": 1,
            "pod_type": "p1.x1",
            "environment": "us-west1-gcp"
        }
    }
}
# pip install pinecone[grpc]
# Serverless index
from pinecone.grpc import PineconeGRPC as Pinecone
from pinecone import ServerlessSpec

pc = Pinecone(api_key="YOUR_API_KEY")

pc.create_index(
  name="example-index1",
  dimension=1536,
  metric="cosine",
  spec=ServerlessSpec(
    cloud="aws",
    region="us-east-1",
  ),
  deletion_protection="disabled"
)

# Pod-based index
from pinecone.grpc import PineconeGRPC as Pinecone, PodSpec

pc = Pinecone(api_key="YOUR_API_KEY")

pc.create_index(
  name="example-index2",
  dimension=1536,
  metric="cosine",
  spec=PodSpec(
    environment="us-west1-gcp",
    pod_type="p1.x1",
    pods=1,
  ),
  deletion_protection="disabled"
)
# Serverless index
{
    "name": "example-index1",
    "metric": "cosine",
    "dimension": 1536,
    "status": {
        "ready": true,
        "state": "Ready"
    },
    "host": "example-index1-4zo0ijk.svc.dev-us-west2-aws.pinecone.io",
    "spec": {
        "serverless": {
            "region": "us-east-1",
            "cloud": "aws"
        }
    }
}

# Pod-based index
{
    "name": "example-index2",
    "metric": "cosine",
    "dimension": 1536,
    "status": {
        "ready": true,
        "state": "Ready"
    },
    "host": "example-index2-4zo0ijk.svc.us-west1-gcp.pinecone.io",
    "spec": {
        "pod": {
            "replicas": 1,
            "shards": 1,
            "pods": 1,
            "pod_type": "p1.x1",
            "environment": "us-west1-gcp"
        }
    }
}

Body

application/json
The desired configuration for the index.

The configuration needed to create 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
dimension
integer
required

The dimensions of the vectors to be inserted in the index.

Required range: 1 < x < 20000
spec
object
required

The spec object defines how the index should be deployed.

For serverless indexes, you define only the cloud and region where the index should be hosted. For pod-based indexes, you define the environment where the index should be hosted, the pod type and size to use, and other index characteristics.

metric
enum<string>
default:
cosine

The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'.

Available options:
cosine,
euclidean,
dotproduct
deletion_protection
enum<string>
default:
disabled

Whether deletion protection is enabled/disabled for the index.

Available options:
disabled,
enabled

Response

201
application/json
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
dimension
integer
required

The dimensions of the vectors to be inserted in the index.

Required range: 1 < x < 20000
metric
enum<string>
default:
cosine
required

The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'.

Available options:
cosine,
euclidean,
dotproduct
host
string
required

The URL address where the index is hosted.

spec
object
required
status
object
required
deletion_protection
enum<string>
default:
disabled

Whether deletion protection is enabled/disabled for the index.

Available options:
disabled,
enabled

Was this page helpful?