Skip to main content
Pinecone Docs
current

Search documentation

Type to search this documentation.

Create an index from a backup

Create an index from a backup.

The restored index inherits the schema of the index the backup was taken from, including its full-text search fields and its integrated embedding configuration, and the request cannot override it. A backup that carries no schema restores an index whose fields are derived from the source index's dimension, metric, and vector type, and reported under the reserved _values / _sparse_values names.

For serverless backups, you can optionally set read_capacity so the restored index is created with dedicated read nodes (DRN) instead of defaulting to on-demand capacity.

curl
PINECONE_API_KEY="YOUR_API_KEY"
BACKUP_ID="a65ff585-d987-4da5-a622-72e19a6ed5f4"

curl "https://api.pinecone.io/backups/$BACKUP_ID/create-index" \
  -H "Api-Key: $PINECONE_API_KEY" \
  -H "X-Pinecone-Api-Version: 2026-07" \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "restored-index",
        "tags": {
          "tag0": "val0",
          "tag1": "val1"
        },
        "deletion_protection": "enabled"
      }'

POST /backups/{backup_id}/create-index

202
{
  "restore_job_id": "670e8400-e29b-41d4-a716-446655440000",
  "index_id": "123e4567-e89b-12d3-a456-426614174000"
}
400
{
  "error": {
    "code": "INVALID_ARGUMENT",
    "message": "Bad request. The request body included invalid request parameters."
  },
  "status": 400
}
402
{
  "error": {
    "code": "PAYMENT_REQUIRED",
    "message": "Request failed. Pay all past due invoices to lift restrictions on your account."
  },
  "status": 402
}
403
{
  "error": {
    "code": "FORBIDDEN",
    "message": "Increase your quota or upgrade to create more indexes."
  },
  "status": 403
}
404
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Backup bkp_123abc not found."
  },
  "status": 404
}
409
{
  "error": {
    "code": "INVALID_ARGUMENT",
    "message": "Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end with a hyphen."
  },
  "status": 400
}
412
{
  "error": {
    "code": "FAILED_PRECONDITION",
    "message": "Backup 670e8400-e29b-41d4-a716-446655440000 is not completed"
  },
  "status": 412
}
Api-Keystringrequired

An API Key is required to call Pinecone APIs. Get yours from the console.

X-Pinecone-Api-Versionstringrequired

Required date-based version header

Typestring
Default2026-07
backup_idstringrequired

The ID of the backup to create an index from.

Typestring
namestringrequired

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

Typestring
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.

Typeobject | null
deletion_protection?string
Typestring
Defaultdisabled

Whether deletion protection is enabled/disabled for the index. Possible values: disabled or enabled.

read_capacity?object
Show child attributes
modestringrequired

The mode of the index. Possible values: OnDemand or Dedicated. Defaults to OnDemand. If set to Dedicated, dedicated.node_type, and dedicated.scaling must be specified.

Typestring

202 — The request to create the index has been accepted.

The response for creating an index from a backup.

restore_job_idstringrequired

The ID of the restore job that was created.

Example: 670e8400-e29b-41d4-a716-446655440000

Typestring
index_idstringrequired

The ID of the index that was created from the backup.

Example: 123e4567-e89b-12d3-a456-426614174000

Typestring
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu