Back up indexes


This document describes how to make backup copies of your indexes using collections.

To learn how to create an index from a collection, see Manage indexes.

Create a backup using a collection

To create a backup of your index, use the create_collection operation. A collection is a static copy of your index that only consumes storage.


The following example creates a collection named example-collection from an index named example-index.

pinecone.create_collection("example-collection", "example-index")
await pinecone.createCollection({
  name: "example-collection",
  source: "example-index",
API_KEY='your-api-key' \
ENVIRONMENT='your-environment' \
  curl -i -X POST "https://controller.$" \
    -H "Api-Key: $API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
          "name": "example-collection",
          "source": "example-index"

Check the status of a collection

To retrieve the status of the process creating a collection and the size of the collection, use the describe_collection operation. Specify the name of the collection to check. You can only call describe_collection on a collection in the current project.

The describe_collection operation returns an object containing key-value pairs representing the name of the collection, the size in bytes, and the creation status of the collection.


The following example gets the creation status and size of a collection named example-collection.

await pinecone.describeCollection('example-collection');
API_KEY='your-api-key' \
ENVIRONMENT='your-environment' \
COLLECTION_NAME='example-collection' \
  curl -i -X GET "https://controller.$$COLLECTION_NAME" \
    -H "Api-Key: $API_KEY"

List your collections

To get a list of the collections in the current project, use the list_collections operation.


The following example gets a list of all collections in the current project.

await pinecone.listCollections();
API_KEY='your-api-key' \
ENVIRONMENT='your-environment' \
  curl -i -X GET "https://controller.$" \
    -H "Api-Key: $API_KEY"

Delete a collection

To delete a collection, use the delete_collection operation. Specify the name of the collection to delete.

Deleting the collection takes several minutes. During this time, the describe_collection operation returns the status "deleting".


The following example deletes the collection example-collection.

await pinecone.deleteCollection("example-collection");
API_KEY='your-api-key' \
ENVIRONMENT='your-environment' \
  curl -i -X DELETE "https://controller.$" \
    -H "Api-Key: $API_KEY"