List backups for all indexes in a project
List all backups for a project.
PINECONE_API_KEY="YOUR_API_KEY"
curl -X GET "https://api.pinecone.io/backups" \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H "accept: application/json"GET /backups
{
"data": [
{
"backup_id": "670e8400-e29b-41d4-a716-446655440000",
"cloud": "aws",
"created_at": "2025-03-15T10:30:00.000Z",
"description": "Monthly backup of production index",
"name": "backup-2025-03-15",
"namespace_count": 3,
"record_count": 120000,
"region": "us-east-1",
"schema": {
"fields": {
"embedding": {
"dimension": 1536,
"metric": "cosine",
"type": "dense_vector"
}
}
},
"size_bytes": 10000000,
"source_index_id": "idx_456",
"source_index_name": "my-index",
"status": "Ready",
"tags": {
"environment": "production",
"type": "monthly"
}
},
{
"backup_id": "670e8400-e29b-41d4-a716-446655440001",
"cloud": "aws",
"created_at": "2025-03-20T15:45:00.000Z",
"description": "Pre-deployment safety backup",
"name": "backup-2025-03-20",
"namespace_count": 4,
"record_count": 125000,
"region": "us-east-1",
"schema": {
"fields": {
"body": {
"full_text_search": {
"language": "en"
},
"type": "string"
},
"title": {
"full_text_search": {
"language": "en"
},
"type": "string"
}
}
},
"size_bytes": 10500000,
"source_index_id": "idx_789",
"source_index_name": "my-fts-index",
"status": "Ready",
"tags": {
"environment": "production",
"type": "pre-deploy"
}
}
]
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Bad request. The request body included invalid request parameters."
},
"status": 400
}{
"error": {
"code": "PERMISSION_DENIED",
"message": "Access denied: Permission control::backups::list is required"
},
"status": 403
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}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
Query Parameters
Section titled “Query Parameters”limit?integerThe number of results to return per page.
paginationToken?stringThe token to use to retrieve the next page of results. A malformed token is rejected with 400.
Response
Section titled “Response”200 — This operation returns a list of all the backups for the given project.
The list of backups that exist in the project.
data?object[]List of backup objects
Show child attributes
backup_idstringrequiredUnique identifier for the backup.
Example: 670e8400-e29b-41d4-a716-446655440001
source_index_namestringrequiredName of the index from which the backup was taken.
Example: my-index
source_index_idstringrequiredID of the index from which the backup was taken.
Example: 670e8400-e29b-41d4-a716-446655440000
source_index_deleted_at?stringThe deletion timestamp when the source index has been deleted. Not present for backups associated with an active index.
Example: 2024-03-05T12:00:00.000Z
name?stringOptional user-defined name for the backup.
Example: backup-2025-02-04
description?stringOptional description providing context for the backup.
Example: Backup before bulk update.
statusstringrequiredCurrent status of the backup.
Example: Ready
cloudstringrequiredCloud provider where the backup is stored.
Example: aws
regionstringrequiredCloud region where the backup is stored.
Example: us-east-1
schema?objectThe schema of a Pinecone index. The schema defines the typed fields that documents in the index can contain, including vector fields, semantic text fields, and metadata fields.
Show child attributes
fieldsobjectrequiredA map of field names to their configurations. Indexes that are served by the vectors API — created with the reserved _values / _sparse_values schema, or created by an earlier API version from dimension, metric, and vector_type — report their vector fields under the reserved names _values (dense) and _sparse_values (sparse), and any metadata fields configured for filtering as legacy fields carrying only filterable. Dense vectors-API indexes always report both _values and _sparse_values, regardless of how they were created.
record_count?integerTotal number of records in the backup.
Example: 120000
namespace_count?integerNumber of namespaces in the backup.
Example: 3
size_bytes?integerSize of the backup in bytes.
Example: 10000000
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.
created_at?stringTimestamp when the backup was created.
Example: 2025-02-04T10:30:00.000Z
pagination?object | nullCursor envelope for the next page. null (or absent) on the final page of results.
Show child attributes
nextstringrequiredThe token to use to retrieve the next page of results.
Example: dXNlcl9pZD11c2VyXzE=