openapi: 3.0.3 info: title: Pinecone Control Plane API description: Pinecone is a vector database that makes it easy to search and retrieve billions of high-dimensional vectors. contact: name: Pinecone Support url: https://support.pinecone.io email: support@pinecone.io license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: 2025-01 servers: - url: https://api.pinecone.io description: Production API endpoints paths: /indexes: get: tags: - Manage Indexes summary: List indexes description: This operation returns a list of all indexes in a project. operationId: list_indexes responses: '200': description: This operation returns a list of all the indexes that you have previously created, and which are associated with the given project content: application/json: schema: $ref: '#/components/schemas/IndexList' examples: multiple-indexes: summary: A list containing one serverless index and one pod-based index. value: indexes: - dimension: 384 host: semantic-search-c01b5b5.svc.us-west1-gcp.pinecone.io metric: cosine name: semantic-search spec: pod: environment: us-west1-gcp pod_type: p1.x1 pods: 4 replicas: 2 shards: 2 status: ready: true state: Ready vector_type: dense - dimension: 200 host: image-search-a31f9c1.svc.us-east1-gcp.pinecone.io metric: dotproduct name: image-search spec: serverless: cloud: aws region: us-east-1 status: ready: false state: Initializing vector_type: dense - host: sparse-index-1a2b3c4d.svc.us-east1-gcp.pinecone.io metric: dotproduct name: sparse-index spec: serverless: cloud: aws region: us-east-1 status: ready: true state: Ready vector_type: sparse one-index: summary: A list containing one serverless index. value: indexes: - dimension: 1536 host: movie-embeddings-c01b5b5.svc.us-east1-gcp.pinecone.io metric: cosine name: movie-embeddings spec: serverless: cloud: aws region: us-east-1 status: ready: false state: Initializing vector_type: dense no-indexes: summary: No indexes created yet. value: indexes: [] '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 post: tags: - Manage Indexes summary: Create an index description: "Create an index for vectors created with an external embedding model.\n\nFor guidance and examples, see [Create an index](https://docs.pinecone.io/guides/index-data/create-an-index)." operationId: create_index requestBody: description: The desired configuration for the index. content: application/json: schema: $ref: '#/components/schemas/CreateIndexRequest' examples: serverless-index: summary: Creating a serverless index value: deletion_protection: enabled dimension: 1536 metric: cosine name: movie-recommendations spec: serverless: cloud: gcp region: us-east1 source_collection: movie-embeddings serverless-sparse-index: summary: Creating a sparse serverless index value: deletion_protection: enabled metric: dotproduct name: sparse-index spec: serverless: cloud: gcp region: us-east1 vector_type: sparse pod-index: summary: Creating a pod-based index value: deletion_protection: enabled dimension: 1536 metric: cosine name: movie-recommendations spec: pod: environment: us-east-1-aws metadata_config: indexed: - genre - title - imdb_rating pod_type: p1.x1 pods: 1 replicas: 1 shards: 1 source_collection: movie-embeddings required: true responses: '201': description: The index has been successfully created. content: application/json: schema: $ref: '#/components/schemas/IndexModel' '400': description: Bad request. The request body included invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-metric-validation-error: summary: Validation error value: error: code: INVALID_ARGUMENT message: Bad request. The request body included invalid request parameters. status: 400 '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '402': description: Payment required. Organization is on a paid plan and is delinquent on payment. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: payment-required: summary: Payment required value: error: code: PAYMENT_REQUIRED message: Request failed. Pay all past due invoices to lift restrictions on your account. status: 402 '403': description: You've exceed your pod quota. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Forbidden value: error: code: FORBIDDEN message: Increase your quota or upgrade to create more indexes. status: 403 '404': description: Unknown cloud or region when creating a serverless index. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: serverless-spec-cloud-not-found: summary: Cannot create serverless index with invalid spec. value: error: code: NOT_FOUND message: 'Resource cloud: aws region: us-west1 not found.' status: 404 '422': description: Unprocessable entity. The request body could not be deserialized. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: missing-field: summary: Unprocessable entity value: error: code: UNPROCESSABLE_ENTITY message: 'Failed to deserialize the JSON body into the target type: missing field `metric` at line 1 column 16' status: 422 '409': description: Index of given name already exists. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-name-already-exists: summary: Index name needs to be unique. value: error: code: ALREADY_EXISTS message: Resource already exists. status: 409 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 /indexes/{index_name}: get: tags: - Manage Indexes summary: Describe an index description: Get a description of an index. operationId: describe_index parameters: - in: path name: index_name description: The name of the index to be described. required: true schema: type: string example: test-index style: simple responses: '200': description: Configuration information and deployment status of the index. content: application/json: schema: $ref: '#/components/schemas/IndexModel' examples: movie-recommendations-serverless: summary: A serverless index value: dimension: 1536 host: movie-recommendations-c01b5b5.svc.us-east1-gcp.pinecone.io metric: cosine name: movie-recommendations spec: serverless: cloud: aws region: us-east-1 status: ready: false state: Initializing vector_type: dense movie-recommendations-pod: summary: A pod-based index value: dimension: 1536 host: movie-recommendations-c01b5b5.svc.us-east1-gcp.pinecone.io metric: cosine name: movie-recommendations spec: pod: environment: us-east-1-aws metadata_config: indexed: - genre - title - imdb_rating pod_type: p1.x1 pods: 1 replicas: 1 shards: 1 status: ready: false state: Initializing vector_type: dense links: UpsertVector: operationId: upsert server: url: $response.body#/host UpdateVector: operationId: update server: url: $response.body#/host QueryVector: operationId: query server: url: $response.body#/host FetchVector: operationId: fetch server: url: $response.body#/host DeleteOneVector: operationId: delete1 server: url: $response.body#/host DeleteVector: operationId: delete server: url: $response.body#/host '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '404': description: Index not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-not-found: summary: Index not found value: error: code: NOT_FOUND message: Index example-index not found. status: 404 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 delete: tags: - Manage Indexes summary: Delete an index description: Delete an existing index. operationId: delete_index parameters: - in: path name: index_name description: The name of the index to delete. required: true schema: type: string example: test-index style: simple responses: '202': description: The request to delete the index has been accepted. '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '403': description: Forbidden. Deletion protection enabled. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: deletion-protection: summary: Forbidden value: error: code: FORBIDDEN message: Deletion protection is enabled for this index. Disable deletion protection before retrying. status: 403 '404': description: Index not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-not-found: summary: Index not found value: error: code: NOT_FOUND message: Index example-index not found. status: 404 '412': description: There is a pending collection created from this index. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: pending-collection: summary: There is a pending collection from this index. value: error: code: FAILED_PRECONDITION message: 'Unable to delete an index. There are pending collections for this index: [''test-collection'']' status: 412 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 patch: tags: - Manage Indexes summary: Configure an index description: "Configure an existing index. \n\nFor serverless indexes, you can configure index deletion protection, tags, and integrated inference embedding settings for the index. For pod-based indexes, you can configure the pod size, number of replicas, tags, and index deletion protection.\n\nIt is not possible to change the pod type of a pod-based index. However, you can create a collection from a pod-based index and then [create a new pod-based index with a different pod type](http://docs.pinecone.io/guides/indexes/pods/create-a-pod-based-index#create-a-pod-index-from-a-collection) from the collection. For guidance and examples, see [Configure an index](http://docs.pinecone.io/guides/indexes/pods/manage-pod-based-indexes)." operationId: configure_index parameters: - in: path name: index_name description: The name of the index to configure. required: true schema: type: string example: test-index style: simple requestBody: description: The desired pod size and replica configuration for the index. content: application/json: schema: $ref: '#/components/schemas/ConfigureIndexRequest' examples: vertical-scaling: summary: Vertical scaling with pod size value: spec: pod: pod_type: p1.x2 horizontal-scaling: summary: Horizontal scaling with replicas value: spec: pod: replicas: 4 scaling-both: summary: Scaling both pod size and number of replicas value: spec: pod: pod_type: p1.x2 replicas: 4 disable-deletion-protection: summary: Disable deletion protection for the index value: delete_protection: disabled update-index-tags: summary: Update tag0 and delete tag1 value: tags: tag0: new-val tag1: '' required: true responses: '202': description: The request to configure the index has been accepted. Check the index status to see when the change has been applied. content: application/json: schema: $ref: '#/components/schemas/IndexModel' '400': description: Bad request. The request body included invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-metric-validation-error: summary: Validation error value: error: code: INVALID_ARGUMENT message: Bad request. The request body included invalid request parameters. status: 400 '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '402': description: Payment required. Organization is on a paid plan and is delinquent on payment. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: payment-required: summary: Payment required value: error: code: PAYMENT_REQUIRED message: Request failed. Pay all past due invoices to lift restrictions on your account. status: 402 '403': description: You've exceed your pod quota. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Forbidden value: error: code: FORBIDDEN message: Increase your quota or upgrade to create more indexes. status: 403 '404': description: Index not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-not-found: summary: Index not found value: error: code: NOT_FOUND message: Index example-index not found. status: 404 '422': description: Unprocessable entity. The request body could not be deserialized. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: missing-field: summary: Unprocessable entity value: error: code: UNPROCESSABLE_ENTITY message: 'Failed to deserialize the JSON body into the target type: missing field `metric` at line 1 column 16' status: 422 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 /collections: get: tags: - Manage Indexes summary: List collections description: | This operation returns a list of all collections in a project. Serverless indexes do not support collections. operationId: list_collections responses: '200': description: This operation returns a list of all the collections in your current project. content: application/json: schema: $ref: '#/components/schemas/CollectionList' examples: multiple-collections: summary: Multiple collections with different states value: collections: - dimension: 3 environment: us-east1-gcp name: small-collection size: 3126700 status: Ready vector_count: 99 - dimension: 3 environment: us-east1-gcp name: small-collection-new size: 3126700 status: Initializing vector_count: 99 - dimension: 1536 environment: us-east1-gcp name: big-collection size: 160087040000000 status: Ready vector_count: 10000000 no-collections: summary: No collections created yet value: collections: [] '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 post: tags: - Manage Indexes summary: Create a collection description: "This operation creates a Pinecone collection.\n \nServerless indexes do not support collections.\n" operationId: create_collection requestBody: description: The desired configuration for the collection. content: application/json: schema: $ref: '#/components/schemas/CreateCollectionRequest' examples: creating-collection: summary: Creating a collection value: name: example-collection source: example-source-index required: true responses: '201': description: The collection has been successfully created. content: application/json: schema: $ref: '#/components/schemas/CollectionModel' '400': description: Bad request. The request body included invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-metric-validation-error: summary: Validation error value: error: code: INVALID_ARGUMENT message: Bad request. The request body included invalid request parameters. status: 400 '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '402': description: Payment required. Organization is on a paid plan and is delinquent on payment. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: payment-required: summary: Payment required value: error: code: PAYMENT_REQUIRED message: Request failed. Pay all past due invoices to lift restrictions on your account. status: 402 '403': description: You've exceed your collections quota. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Forbidden value: error: code: FORBIDDEN message: Collection exceeds quota. Maximum allowed on your account is 1. Currently have 1. status: 403 '409': description: Collection of given name already exists. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: collection-name-already-exists: summary: Collection name needs to be unique. value: error: code: ALREADY_EXISTS message: Resource already exists. status: 409 '422': description: Unprocessable entity. The request body could not be deserialized. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: missing-field: summary: Unprocessable entity value: error: code: UNPROCESSABLE_ENTITY message: 'Failed to deserialize the JSON body into the target type: missing field `metric` at line 1 column 16' status: 422 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 /indexes/create-for-model: post: tags: - Manage Indexes summary: Create an index with integrated embedding description: |- Create an index with integrated embedding. With this type of index, you provide source text, and Pinecone uses a [hosted embedding model](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) to convert the text automatically during [upsert](https://docs.pinecone.io/reference/api/2025-01/data-plane/upsert_records) and [search](https://docs.pinecone.io/reference/api/2025-01/data-plane/search_records). For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/index-data/create-an-index#integrated-embedding). operationId: create_index_for_model requestBody: description: The desired configuration for the index and associated embedding model. content: application/json: schema: $ref: '#/components/schemas/CreateIndexForModelRequest' examples: index-for-model: summary: Creating a serverless index for the specified model value: cloud: gcp deletion_protection: enabled embed: field_map: text: your-text-field metric: cosine model: multilingual-e5-large name: multilingual-e5-large-index region: us-east1 required: true responses: '201': description: The index has successfully been created for the embedding model. content: application/json: schema: $ref: '#/components/schemas/IndexModel' '400': description: Bad request. The request body included invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-metric-validation-error: summary: Validation error value: error: code: INVALID_ARGUMENT message: Bad request. The request body included invalid request parameters. status: 400 '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '404': description: Unknown cloud or region when creating a serverless index. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: serverless-spec-cloud-not-found: summary: Cannot create serverless index with invalid spec. value: error: code: NOT_FOUND message: 'Resource cloud: aws region: us-west1 not found.' status: 404 '409': description: Index of given name already exists. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: index-name-already-exists: summary: Index name needs to be unique value: error: code: ALREADY_EXISTS message: Resource already exists. status: 409 '422': description: Unprocessable entity. The request body could not be deserialized. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: missing-field: summary: Unprocessable entity value: error: code: UNPROCESSABLE_ENTITY message: 'Failed to deserialize the JSON body into the target type: missing field `metric` at line 1 column 16' status: 422 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 /collections/{collection_name}: get: tags: - Manage Indexes summary: Describe a collection description: | This operation gets a description of a collection. Serverless indexes do not support collections. operationId: describe_collection parameters: - in: path name: collection_name description: The name of the collection to be described. required: true schema: type: string example: tiny-collection style: simple responses: '200': description: Configuration information and status of the collection. content: application/json: schema: $ref: '#/components/schemas/CollectionModel' examples: tiny-collection: summary: A small collection. value: dimension: 3 environment: us-east1-gcp name: tiny-collection size: 3126700 status: Ready vector_count: 99 '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '404': description: Collection not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: collection-not-found: summary: Collection not found. value: error: code: NOT_FOUND message: Collection example-collection not found. status: 404 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 delete: tags: - Manage Indexes summary: Delete a collection description: | This operation deletes an existing collection. Serverless indexes do not support collections. operationId: delete_collection parameters: - in: path name: collection_name description: The name of the collection. required: true schema: type: string example: test-collection style: simple responses: '202': description: The collection has been successfully deleted. '401': description: 'Unauthorized. Possible causes: Invalid API key.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: error: code: UNAUTHENTICATED message: Invalid API key. status: 401 '404': description: Collection not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: collection-not-found: summary: Collection not found. value: error: code: NOT_FOUND message: Collection example-collection not found. status: 404 '500': description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: error: code: UNKNOWN message: Internal server error status: 500 components: schemas: ModelIndexEmbed: example: field_map: text: your-text-field metric: cosine model: multilingual-e5-large read_parameters: input_type: query truncate: NONE write_parameters: input_type: passage description: The embedding model and document fields mapped to embedding inputs. type: object properties: model: example: multilingual-e5-large description: The name of the embedding model used to create the index. type: string metric: description: The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If not specified, the metric will be defaulted according to the model. Cannot be updated once set. type: string enum: - cosine - euclidean - dotproduct dimension: example: 1536 description: The dimensions of the vectors to be inserted in the index. type: integer format: int32 minimum: 1 maximum: 20000 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 field_map: example: text: your-text-field description: Identifies the name of the text field from your document model that is embedded. type: object read_parameters: description: The read parameters for the embedding model. type: object write_parameters: description: The write parameters for the embedding model. type: object required: - model CollectionModel: description: The CollectionModel describes the configuration and status of a Pinecone collection. type: object properties: name: example: example-collection description: The name of the collection. type: string size: example: 10000000 description: The size of the collection in bytes. type: integer format: int64 status: example: Initializing description: The status of the collection. type: string enum: - Initializing - Ready - Terminating dimension: example: 1536 description: The dimension of the vectors stored in each record held in the collection. type: integer format: int32 minimum: 1 maximum: 20000 vector_count: example: 120000 description: The number of records stored in the collection. type: integer format: int32 environment: example: us-east1-gcp description: The environment where the collection is hosted. type: string required: - name - status - environment ConfigureIndexRequest: description: Configuration used to scale an index. type: object properties: spec: type: object properties: pod: type: object properties: replicas: description: The number of replicas. Replicas duplicate your index. They provide higher availability and throughput. Replicas can be scaled up or down as your needs change. default: 1 type: integer format: int32 minimum: 1 pod_type: description: The type of pod to use. One of `s1`, `p1`, or `p2` appended with `.` and one of `x1`, `x2`, `x4`, or `x8`. default: p1.x1 type: string required: - pod deletion_protection: $ref: '#/components/schemas/DeletionProtection' tags: $ref: '#/components/schemas/IndexTags' embed: example: field_map: text: your-text-field model: multilingual-e5-large read_parameters: input_type: query truncate: NONE write_parameters: input_type: passage description: |- Configure the integrated inference embedding settings for this index. You can convert an existing index to an integrated index by specifying the embedding model and field_map. The index vector type and dimension must match the model vector type and dimension, and the index similarity metric must be supported by the model. Refer to the [model guide](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) for available models and model details. You can later change the embedding configuration to update the field map, read parameters, or write parameters. Once set, the model cannot be changed. type: object properties: model: example: multilingual-e5-large description: The name of the embedding model to use with the index. The index dimension and model dimension must match, and the index similarity metric must be supported by the model. The index embedding model cannot be changed once set. type: string field_map: example: text: your-text-field description: Identifies the name of the text field from your document model that will be embedded. type: object read_parameters: description: The read parameters for the embedding model. type: object write_parameters: description: The write parameters for the embedding model. type: object IndexSpec: description: | The spec object defines how the index should be deployed. For serverless indexes, you define only the [cloud and region](http://docs.pinecone.io/guides/index-data/create-an-index#cloud-regions) where the index should be hosted. For pod-based indexes, you define the [environment](http://docs.pinecone.io/guides/indexes/pods/understanding-pod-based-indexes#pod-environments) where the index should be hosted, the [pod type and size](http://docs.pinecone.io/guides/indexes/pods/understanding-pod-based-indexes#pod-types) to use, and other index characteristics. type: object properties: serverless: $ref: '#/components/schemas/ServerlessSpec' pod: $ref: '#/components/schemas/PodSpec' additionalProperties: false oneOf: - required: - serverless - required: - pod CollectionList: description: The list of collections that exist in the project. type: object properties: collections: type: array items: $ref: '#/components/schemas/CollectionModel' CreateIndexForModelRequest: description: The desired configuration for the index and associated embedding model. 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 '-'. type: string minLength: 1 maxLength: 45 cloud: example: aws description: The public cloud where you would like your index hosted. type: string enum: - gcp - aws - azure region: example: us-east-1 description: The region where you would like your index to be created. type: string deletion_protection: $ref: '#/components/schemas/DeletionProtection' tags: $ref: '#/components/schemas/IndexTags' embed: example: field_map: text: your-text-field metric: cosine model: multilingual-e5-large read_parameters: input_type: query truncate: NONE write_parameters: input_type: passage description: |- Specify the integrated inference embedding configuration for the index. Once set the model cannot be changed, but you can later update the embedding configuration for an integrated inference index including field map, read parameters, or write parameters. Refer to the [model guide](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) for available models and model details. type: object properties: model: example: multilingual-e5-large description: The name of the embedding model to use for the index. type: string metric: description: The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If not specified, the metric will be defaulted according to the model. Cannot be updated once set. type: string enum: - cosine - euclidean - dotproduct field_map: example: text: your-text-field description: Identifies the name of the text field from your document model that will be embedded. type: object read_parameters: description: The read parameters for the embedding model. type: object write_parameters: description: The write parameters for the embedding model. type: object required: - model - field_map required: - name - cloud - region - embed IndexList: description: The list of indexes that exist in the project. type: object properties: indexes: type: array items: $ref: '#/components/schemas/IndexModel' IndexTags: example: tag0: val0 tag1: val1 description: 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. type: object additionalProperties: type: string ErrorResponse: example: error: code: QUOTA_EXCEEDED message: The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota. status: 429 description: The response shape used for all error responses. type: object properties: status: example: 500 description: The HTTP status code of the error. type: integer error: example: code: INVALID_ARGUMENT message: Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end with a hyphen. description: Detailed information about the error that occurred. type: object properties: code: type: string enum: - OK - UNKNOWN - INVALID_ARGUMENT - DEADLINE_EXCEEDED - QUOTA_EXCEEDED - NOT_FOUND - ALREADY_EXISTS - PERMISSION_DENIED - UNAUTHENTICATED - RESOURCE_EXHAUSTED - FAILED_PRECONDITION - ABORTED - OUT_OF_RANGE - UNIMPLEMENTED - INTERNAL - UNAVAILABLE - DATA_LOSS - FORBIDDEN - UNPROCESSABLE_ENTITY - PAYMENT_REQUIRED message: example: Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end with a hyphen. type: string details: description: Additional information about the error. This field is not guaranteed to be present. type: object required: - code - message required: - status - error CreateCollectionRequest: description: The configuration needed to create a Pinecone collection. type: object properties: name: description: | The name of the collection to be created. Resource name must be 1-45 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or '-'. type: string minLength: 1 maxLength: 45 source: example: example-source-index description: The name of the index to be used as the source for the collection. type: string required: - name - source 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 '-'. 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'. type: string enum: - cosine - euclidean - dotproduct host: example: semantic-search-c01b5b5.svc.us-west1-gcp.pinecone.io description: The URL address where the index is hosted. 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 type: object properties: pod: $ref: '#/components/schemas/PodSpec' serverless: $ref: '#/components/schemas/ServerlessSpec' status: example: ready: true state: ScalingUpPodSize type: object properties: ready: type: boolean state: type: string enum: - Initializing - InitializationFailed - ScalingUp - ScalingDown - ScalingUpPodSize - ScalingDownPodSize - Terminating - Ready 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 DeletionProtection: description: | Whether [deletion protection](http://docs.pinecone.io/guides/manage-data/manage-indexes#configure-deletion-protection) is enabled/disabled for the index. default: disabled type: string enum: - disabled - enabled PodSpec: example: environment: us-east1-gcp metadata_config: indexed: - genre - title - imdb_rating pod_type: p1.x1 pods: 1 replicas: 1 shards: 1 source_collection: movie-embeddings description: Configuration needed to deploy a pod-based index. type: object properties: environment: example: us-east1-gcp description: The environment where the index is hosted. type: string replicas: description: The number of replicas. Replicas duplicate your index. They provide higher availability and throughput. Replicas can be scaled up or down as your needs change. default: 1 type: integer format: int32 minimum: 1 shards: description: The number of shards. Shards split your data across multiple pods so you can fit more data into an index. default: 1 type: integer format: int32 minimum: 1 pod_type: description: The type of pod to use. One of `s1`, `p1`, or `p2` appended with `.` and one of `x1`, `x2`, `x4`, or `x8`. default: p1.x1 type: string pods: example: 1 description: The number of pods to be used in the index. This should be equal to `shards` x `replicas`.' default: 1 type: integer minimum: 1 metadata_config: example: indexed: - genre - title - imdb_rating description: Configuration for the behavior of Pinecone's internal metadata index. By default, all metadata is indexed; when `metadata_config` is present, only specified metadata fields are indexed. These configurations are only valid for use with pod-based indexes. type: object properties: indexed: description: By default, all metadata is indexed; to change this behavior, use this property to specify an array of metadata fields that should be indexed. type: array items: type: string source_collection: example: movie-embeddings description: The name of the collection to be used as the source for the index. type: string required: - environment - pod_type ServerlessSpec: description: Configuration needed to deploy a serverless index. type: object properties: cloud: example: aws description: The public cloud where you would like your index hosted. type: string enum: - gcp - aws - azure region: example: us-east-1 description: The region where you would like your index to be created. type: string required: - cloud - region CreateIndexRequest: description: The configuration needed to create 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 '-'. 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'. type: string enum: - cosine - euclidean - dotproduct deletion_protection: $ref: '#/components/schemas/DeletionProtection' tags: $ref: '#/components/schemas/IndexTags' spec: $ref: '#/components/schemas/IndexSpec' 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 - spec securitySchemes: ApiKeyAuth: type: apiKey in: header name: Api-Key description: An API Key is required to call Pinecone APIs. Get yours from the [console](https://app.pinecone.io/). security: - ApiKeyAuth: [] tags: - name: Manage Indexes description: Actions that manage indexes externalDocs: description: More Pinecone.io API docs url: https://docs.pinecone.io/introduction