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"
}'
{
"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
}"Invalid API key"{
"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
}{
"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
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}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"
}'
{
"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
}"Invalid API key"{
"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
}{
"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
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}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"
}'
Authorizations
Headers
Required date-based version header
Path Parameters
The ID of the backup to create an index from.
Body
The desired configuration for the index created from a backup.
The configuration needed to create a Pinecone index from a backup.
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 '-'.
1 - 45"example-index"
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.
Show child attributes
Show child attributes
{ "tag0": "val0", "tag1": "val1" }
Whether deletion protection is enabled/disabled for the index.
Possible values: disabled or enabled.
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. BYOC indexes do not support OnDemand: a byoc deployment must set mode: Dedicated explicitly, since omitting read_capacity defaults to OnDemand and is rejected.
- On-demand
- Dedicated
Show child attributes
Show child attributes
{ "mode": "OnDemand" }
Response
The request to create the index has been accepted.
Was this page helpful?