from pinecone import Pinecone
pc = Pinecone(api_key="YOUR_API_KEY")
pc.create_index_from_backup(
backup_id="a65ff585-d987-4da5-a622-72e19a6ed5f4",
name="restored-index",
tags={
"tag0": "val0",
"tag1": "val1"
},
deletion_protection="enabled"
)
import { Pinecone } from '@pinecone-database/pinecone';
const pc = new Pinecone({ apiKey: 'YOUR_API_KEY' })
const response = await pc.createIndexFromBackup({
backupId: 'a65ff585-d987-4da5-a622-72e19a6ed5f4',
name: 'restored-index',
tags: {
tag0: 'val0',
tag1: 'val1'
},
deletionProtection: 'enabled'
});
console.log(response);
import io.pinecone.clients.Pinecone;
import org.openapitools.db_control.client.ApiException;
import org.openapitools.db_control.client.model.*;
public class CreateIndexFromBackup {
public static void main(String[] args) throws ApiException {
Pinecone pc = new Pinecone.Builder("YOUR_API_KEY").build();
String backupID = "a65ff585-d987-4da5-a622-72e19a6ed5f4";
String indexName = "restored-index";
CreateIndexFromBackupResponse backupResponse = pc.createIndexFromBackup(backupID, indexName);
System.out.println(backupResponse);
}
}
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"time"
"github.com/pinecone-io/go-pinecone/v4/pinecone"
)
func prettifyStruct(obj interface{}) string {
bytes, _ := json.MarshalIndent(obj, "", " ")
return string(bytes)
}
func main() {
ctx := context.Background()
pc, err := pinecone.NewClient(pinecone.NewClientParams{
ApiKey: "YOUR_API_KEY",
})
if err != nil {
log.Fatalf("Failed to create Client: %v", err)
}
indexName := "restored-index"
restoredIndexTags := pinecone.IndexTags{"restored_on": time.Now().Format("2006-01-02 15:04")}
createIndexFromBackupResp, err := pc.CreateIndexFromBackup(ctx, &pinecone.CreateIndexFromBackupParams{
BackupId: "e12269b0-a29b-4af0-9729-c7771dec03e3",
Name: indexName,
Tags: &restoredIndexTags,
})
fmt.Printf(prettifyStruct(createIndexFromBackupResp))
}
using Pinecone;
var pinecone = new PineconeClient("YOUR_API_KEY");
var response = await pinecone.Backups.CreateIndexFromBackupAsync(
"a65ff585-d987-4da5-a622-72e19a6ed5f4",
new CreateIndexFromBackupRequest
{
Name = "restored-index",
Tags = new Dictionary<string, string>
{
{ "tag0", "val0" },
{ "tag1", "val1" }
},
DeletionProtection = DeletionProtection.Enabled
}
);
Console.WriteLine(response);
PINECONE_API_KEY="YOUR_API_KEY"
BACKUP_ID="a65ff585-d987-4da5-a622-72e19a6ed5f4"
curl -X POST "https://api.pinecone.io/backups/$BACKUP_ID/create-index" \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2025-04" \
-H 'Content-Type: application/json' \
-d '{
"name": "restored-index",
"tags": {
"tag0": "val0",
"tag1": "val1"
},
"deletion_protection": "enabled"
}'
{'deletion_protection': 'enabled',
'dimension': 1024,
'embed': {'dimension': 1024,
'field_map': {'text': 'chunk_text'},
'metric': 'cosine',
'model': 'multilingual-e5-large',
'read_parameters': {'input_type': 'query', 'truncate': 'END'},
'vector_type': 'dense',
'write_parameters': {'input_type': 'passage', 'truncate': 'END'}},
'host': 'example-dense-index-python3-govk0nt.svc.aped-4627-b74a.pinecone.io',
'metric': 'cosine',
'name': 'example-dense-index-python3',
'spec': {'serverless': {'cloud': 'aws', 'region': 'us-east-1'}},
'status': {'ready': True, 'state': 'Ready'},
'tags': {'tag0': 'val0', 'tag1': 'val1'},
'vector_type': 'dense'}
{
"restoreJobId": "e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"indexId": "025117b3-e683-423c-b2d1-6d30fbe5027f"
}
class CreateIndexFromBackupResponse {
restoreJobId: e9ba8ff8-7948-4cfa-ba43-34227f6d30d4
indexId: 025117b3-e683-423c-b2d1-6d30fbe5027f
additionalProperties: null
}
{
"index_id": "025117b3-e683-423c-b2d1-6d30fbe5027f",
"restore_job_id": "e9ba8ff8-7948-4cfa-ba43-34227f6d30d4"
}
{
"restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}
{
"restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}
Create an index from a backup
Create an index from a backup.
from pinecone import Pinecone
pc = Pinecone(api_key="YOUR_API_KEY")
pc.create_index_from_backup(
backup_id="a65ff585-d987-4da5-a622-72e19a6ed5f4",
name="restored-index",
tags={
"tag0": "val0",
"tag1": "val1"
},
deletion_protection="enabled"
)
import { Pinecone } from '@pinecone-database/pinecone';
const pc = new Pinecone({ apiKey: 'YOUR_API_KEY' })
const response = await pc.createIndexFromBackup({
backupId: 'a65ff585-d987-4da5-a622-72e19a6ed5f4',
name: 'restored-index',
tags: {
tag0: 'val0',
tag1: 'val1'
},
deletionProtection: 'enabled'
});
console.log(response);
import io.pinecone.clients.Pinecone;
import org.openapitools.db_control.client.ApiException;
import org.openapitools.db_control.client.model.*;
public class CreateIndexFromBackup {
public static void main(String[] args) throws ApiException {
Pinecone pc = new Pinecone.Builder("YOUR_API_KEY").build();
String backupID = "a65ff585-d987-4da5-a622-72e19a6ed5f4";
String indexName = "restored-index";
CreateIndexFromBackupResponse backupResponse = pc.createIndexFromBackup(backupID, indexName);
System.out.println(backupResponse);
}
}
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"time"
"github.com/pinecone-io/go-pinecone/v4/pinecone"
)
func prettifyStruct(obj interface{}) string {
bytes, _ := json.MarshalIndent(obj, "", " ")
return string(bytes)
}
func main() {
ctx := context.Background()
pc, err := pinecone.NewClient(pinecone.NewClientParams{
ApiKey: "YOUR_API_KEY",
})
if err != nil {
log.Fatalf("Failed to create Client: %v", err)
}
indexName := "restored-index"
restoredIndexTags := pinecone.IndexTags{"restored_on": time.Now().Format("2006-01-02 15:04")}
createIndexFromBackupResp, err := pc.CreateIndexFromBackup(ctx, &pinecone.CreateIndexFromBackupParams{
BackupId: "e12269b0-a29b-4af0-9729-c7771dec03e3",
Name: indexName,
Tags: &restoredIndexTags,
})
fmt.Printf(prettifyStruct(createIndexFromBackupResp))
}
using Pinecone;
var pinecone = new PineconeClient("YOUR_API_KEY");
var response = await pinecone.Backups.CreateIndexFromBackupAsync(
"a65ff585-d987-4da5-a622-72e19a6ed5f4",
new CreateIndexFromBackupRequest
{
Name = "restored-index",
Tags = new Dictionary<string, string>
{
{ "tag0", "val0" },
{ "tag1", "val1" }
},
DeletionProtection = DeletionProtection.Enabled
}
);
Console.WriteLine(response);
PINECONE_API_KEY="YOUR_API_KEY"
BACKUP_ID="a65ff585-d987-4da5-a622-72e19a6ed5f4"
curl -X POST "https://api.pinecone.io/backups/$BACKUP_ID/create-index" \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2025-04" \
-H 'Content-Type: application/json' \
-d '{
"name": "restored-index",
"tags": {
"tag0": "val0",
"tag1": "val1"
},
"deletion_protection": "enabled"
}'
{'deletion_protection': 'enabled',
'dimension': 1024,
'embed': {'dimension': 1024,
'field_map': {'text': 'chunk_text'},
'metric': 'cosine',
'model': 'multilingual-e5-large',
'read_parameters': {'input_type': 'query', 'truncate': 'END'},
'vector_type': 'dense',
'write_parameters': {'input_type': 'passage', 'truncate': 'END'}},
'host': 'example-dense-index-python3-govk0nt.svc.aped-4627-b74a.pinecone.io',
'metric': 'cosine',
'name': 'example-dense-index-python3',
'spec': {'serverless': {'cloud': 'aws', 'region': 'us-east-1'}},
'status': {'ready': True, 'state': 'Ready'},
'tags': {'tag0': 'val0', 'tag1': 'val1'},
'vector_type': 'dense'}
{
"restoreJobId": "e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"indexId": "025117b3-e683-423c-b2d1-6d30fbe5027f"
}
class CreateIndexFromBackupResponse {
restoreJobId: e9ba8ff8-7948-4cfa-ba43-34227f6d30d4
indexId: 025117b3-e683-423c-b2d1-6d30fbe5027f
additionalProperties: null
}
{
"index_id": "025117b3-e683-423c-b2d1-6d30fbe5027f",
"restore_job_id": "e9ba8ff8-7948-4cfa-ba43-34227f6d30d4"
}
{
"restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}
{
"restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}
from pinecone import Pinecone
pc = Pinecone(api_key="YOUR_API_KEY")
pc.create_index_from_backup(
backup_id="a65ff585-d987-4da5-a622-72e19a6ed5f4",
name="restored-index",
tags={
"tag0": "val0",
"tag1": "val1"
},
deletion_protection="enabled"
)
import { Pinecone } from '@pinecone-database/pinecone';
const pc = new Pinecone({ apiKey: 'YOUR_API_KEY' })
const response = await pc.createIndexFromBackup({
backupId: 'a65ff585-d987-4da5-a622-72e19a6ed5f4',
name: 'restored-index',
tags: {
tag0: 'val0',
tag1: 'val1'
},
deletionProtection: 'enabled'
});
console.log(response);
import io.pinecone.clients.Pinecone;
import org.openapitools.db_control.client.ApiException;
import org.openapitools.db_control.client.model.*;
public class CreateIndexFromBackup {
public static void main(String[] args) throws ApiException {
Pinecone pc = new Pinecone.Builder("YOUR_API_KEY").build();
String backupID = "a65ff585-d987-4da5-a622-72e19a6ed5f4";
String indexName = "restored-index";
CreateIndexFromBackupResponse backupResponse = pc.createIndexFromBackup(backupID, indexName);
System.out.println(backupResponse);
}
}
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"time"
"github.com/pinecone-io/go-pinecone/v4/pinecone"
)
func prettifyStruct(obj interface{}) string {
bytes, _ := json.MarshalIndent(obj, "", " ")
return string(bytes)
}
func main() {
ctx := context.Background()
pc, err := pinecone.NewClient(pinecone.NewClientParams{
ApiKey: "YOUR_API_KEY",
})
if err != nil {
log.Fatalf("Failed to create Client: %v", err)
}
indexName := "restored-index"
restoredIndexTags := pinecone.IndexTags{"restored_on": time.Now().Format("2006-01-02 15:04")}
createIndexFromBackupResp, err := pc.CreateIndexFromBackup(ctx, &pinecone.CreateIndexFromBackupParams{
BackupId: "e12269b0-a29b-4af0-9729-c7771dec03e3",
Name: indexName,
Tags: &restoredIndexTags,
})
fmt.Printf(prettifyStruct(createIndexFromBackupResp))
}
using Pinecone;
var pinecone = new PineconeClient("YOUR_API_KEY");
var response = await pinecone.Backups.CreateIndexFromBackupAsync(
"a65ff585-d987-4da5-a622-72e19a6ed5f4",
new CreateIndexFromBackupRequest
{
Name = "restored-index",
Tags = new Dictionary<string, string>
{
{ "tag0", "val0" },
{ "tag1", "val1" }
},
DeletionProtection = DeletionProtection.Enabled
}
);
Console.WriteLine(response);
PINECONE_API_KEY="YOUR_API_KEY"
BACKUP_ID="a65ff585-d987-4da5-a622-72e19a6ed5f4"
curl -X POST "https://api.pinecone.io/backups/$BACKUP_ID/create-index" \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2025-04" \
-H 'Content-Type: application/json' \
-d '{
"name": "restored-index",
"tags": {
"tag0": "val0",
"tag1": "val1"
},
"deletion_protection": "enabled"
}'
{'deletion_protection': 'enabled',
'dimension': 1024,
'embed': {'dimension': 1024,
'field_map': {'text': 'chunk_text'},
'metric': 'cosine',
'model': 'multilingual-e5-large',
'read_parameters': {'input_type': 'query', 'truncate': 'END'},
'vector_type': 'dense',
'write_parameters': {'input_type': 'passage', 'truncate': 'END'}},
'host': 'example-dense-index-python3-govk0nt.svc.aped-4627-b74a.pinecone.io',
'metric': 'cosine',
'name': 'example-dense-index-python3',
'spec': {'serverless': {'cloud': 'aws', 'region': 'us-east-1'}},
'status': {'ready': True, 'state': 'Ready'},
'tags': {'tag0': 'val0', 'tag1': 'val1'},
'vector_type': 'dense'}
{
"restoreJobId": "e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"indexId": "025117b3-e683-423c-b2d1-6d30fbe5027f"
}
class CreateIndexFromBackupResponse {
restoreJobId: e9ba8ff8-7948-4cfa-ba43-34227f6d30d4
indexId: 025117b3-e683-423c-b2d1-6d30fbe5027f
additionalProperties: null
}
{
"index_id": "025117b3-e683-423c-b2d1-6d30fbe5027f",
"restore_job_id": "e9ba8ff8-7948-4cfa-ba43-34227f6d30d4"
}
{
"restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}
{
"restore_job_id":"e9ba8ff8-7948-4cfa-ba43-34227f6d30d4",
"index_id":"025117b3-e683-423c-b2d1-6d30fbe5027f"
}
Authorizations
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. 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.
Show child attributes
Show child attributes
{ "tag0": "val0", "tag1": "val1" }
Whether deletion protection is enabled/disabled for the index.
disabled, enabled Response
The request to create the index has been accepted.
Was this page helpful?