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.
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
{
"restore_job_id": "670e8400-e29b-41d4-a716-446655440000",
"index_id": "123e4567-e89b-12d3-a456-426614174000"
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Bad request. The request body included invalid request parameters."
},
"status": 400
}{
"error": {
"code": "PAYMENT_REQUIRED",
"message": "Request failed. Pay all past due invoices to lift restrictions on your account."
},
"status": 402
}{
"error": {
"code": "FORBIDDEN",
"message": "Increase your quota or upgrade to create more indexes."
},
"status": 403
}{
"error": {
"code": "NOT_FOUND",
"message": "Backup bkp_123abc not found."
},
"status": 404
}{
"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
}{
"error": {
"code": "FAILED_PRECONDITION",
"message": "Backup 670e8400-e29b-41d4-a716-446655440000 is not completed"
},
"status": 412
}Authorizations
Section titled “Authorizations”Api-KeystringrequiredAn API Key is required to call Pinecone APIs. Get yours from the console.
Headers
Section titled “Headers”X-Pinecone-Api-VersionstringrequiredRequired date-based version header
Path Parameters
Section titled “Path Parameters”backup_idstringrequiredThe ID of the backup to create an index from.
namestringrequiredThe 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
tags?object | nullCustom 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.
deletion_protection?stringWhether deletion protection is enabled/disabled for the index. Possible values: disabled or enabled.
read_capacity?objectShow child attributes
modestringrequiredThe 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.
Response
Section titled “Response”202 — The request to create the index has been accepted.
The response for creating an index from a backup.
restore_job_idstringrequiredThe ID of the restore job that was created.
Example: 670e8400-e29b-41d4-a716-446655440000
index_idstringrequiredThe ID of the index that was created from the backup.
Example: 123e4567-e89b-12d3-a456-426614174000