{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/IndexModel", "title": "IndexModel", "description": "The IndexModel describes the configuration and status of a Pinecone index.", "type": "object", "properties": { "name": { "example": "example-index", "description": "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 '-'.\n", "type": "string", "minLength": 1, "maxLength": 45 }, "dimension": { "example": 1536, "description": "The dimensions of the vectors to be inserted in the index.", "type": "integer", "format": "int32", "minimum": 1, "maximum": 20000 }, "metric": { "description": "The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If the 'vector_type' is 'sparse', the metric must be 'dotproduct'. If the `vector_type` is `dense`, the metric defaults to 'cosine'.\nPossible values: `cosine`, `euclidean`, or `dotproduct`.", "x-enum": [ "cosine", "euclidean", "dotproduct" ], "type": "string" }, "host": { "example": "semantic-search-c01b5b5.svc.us-west1-gcp.pinecone.io", "description": "The URL address where the index is hosted.", "type": "string" }, "private_host": { "example": "semantic-search-c01b5b5.svc.private.us-west1-gcp.pinecone.io", "description": "The private endpoint URL of an index.", "type": "string" }, "deletion_protection": { "$ref": "#/components/schemas/DeletionProtection" }, "tags": { "$ref": "#/components/schemas/IndexTags" }, "embed": { "$ref": "#/components/schemas/ModelIndexEmbed" }, "spec": { "example": { "pod": { "environment": "us-east-1-aws", "metadata_config": { "indexed": [ "genre", "title", "imdb_rating" ] }, "pod_type": "p1.x1", "pods": 1, "replicas": 1, "shards": 1 } }, "description": "The spec object defines how the index should be deployed.", "type": "object", "oneOf": [ { "title": "Serverless", "type": "object", "properties": { "serverless": { "$ref": "#/components/schemas/ServerlessSpecResponse" } }, "required": [ "serverless" ], "additionalProperties": false }, { "title": "Pod-based", "type": "object", "properties": { "pod": { "$ref": "#/components/schemas/PodSpec" } }, "required": [ "pod" ], "additionalProperties": false }, { "title": "BYOC", "type": "object", "properties": { "byoc": { "$ref": "#/components/schemas/ByocSpecResponse" } }, "required": [ "byoc" ], "additionalProperties": false } ] }, "status": { "example": { "ready": true, "state": "ScalingUpPodSize" }, "description": "The current status of the index", "type": "object", "properties": { "ready": { "description": "Whether the index is ready for use", "type": "boolean" }, "state": { "description": "The state of the index.\nPossible values: `Initializing`, `InitializationFailed`, `ScalingUp`, `ScalingDown`, `ScalingUpPodSize`, `ScalingDownPodSize`, `Terminating`, `Ready`, or `Disabled`.", "x-enum": [ "Initializing", "InitializationFailed", "ScalingUp", "ScalingDown", "ScalingUpPodSize", "ScalingDownPodSize", "Terminating", "Ready", "Disabled" ], "type": "string" } }, "required": [ "ready", "state" ] }, "vector_type": { "description": "The index vector type. You can use 'dense' or 'sparse'. If 'dense', the vector dimension must be specified. If 'sparse', the vector dimension should not be specified.", "default": "dense", "type": "string" } }, "required": [ "name", "metric", "status", "spec", "host", "vector_type" ] }