Skip to main content
Pinecone Docs

Search documentation

Type to search this documentation.

On this pageOverview

Create an index from a backup

Create an index from a backup. 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-04" \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "restored-index",
        "tags": {
          "tag0": "val0",
          "tag1": "val1"
        },
        "deletion_protection": "enabled"
      }'
curl
{
    "restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
    "index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}

POST /backups/{backup_id}/create-index

  • X-Pinecone-Api-Version (header, string, required) — Required date-based version header
  • backup_id (path, string, required) — The ID of the backup to create an index from.
  • name (body, 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 '-'.
  • tags (body, object) — 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.
  • deletion_protection (body, string) — Whether deletion protection is enabled/disabled for the index. Possible values: disabled or enabled.
  • read_capacity (body, object) — By default the index will be created with read capacity mode OnDemand. If you prefer to allocate dedicated read nodes for your workload, you must specify mode Dedicated and additional configurations for node_type and scaling.
  • 202 — The request to create the index has been accepted.
  • 400 — Bad request. The request body included invalid request parameters.
  • 401 — Unauthorized. Possible causes: Invalid API key.
  • 402 — Payment required. Organization is on a paid plan and is delinquent on payment.
  • 403 — You've exceed your pod quota.
  • 404 — Backup not found.
  • 409 — Index of given name already exists.
  • 422 — Unprocessable entity. The request body could not be deserialized.
  • 500 — Internal server error.
Suggest an edit

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

Export
Documentation menu