Skip to main content
PUT
/
vectors
/
indexes
/
{index_id}
Update Index
curl --request PUT \
  --url https://api.gravixlayer.com/v1/vectors/indexes/{index_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "metadata": {
    "project": "recommendation-engine-v2",
    "environment": "production",
    "updated_by": "admin"
  },
  "delete_protection": true
}'
{
  "id": "idx-1234567890abcdef",
  "name": "my-embeddings-index",
  "dimension": 1536,
  "metric": "cosine",
  "vector_type": "dense",
  "cloud_provider": "AWS",
  "region": "us-east-1",
  "index_type": "serverless",
  "metadata": {
    "project": "recommendation-engine-v2",
    "environment": "production",
    "updated_by": "admin"
  },
  "delete_protection": true,
  "updated_at": "2025-10-15T12:34:56Z"
}

Authorizations

Authorization
string
header
required

API key authentication. Get your API key from the Gravix Layer Dashboard.

Path Parameters

index_id
string
required

The ID of the index to update

Body

application/json
metadata
object

Updated metadata (replaces existing, max 1MB JSON)

delete_protection
boolean

Enable/disable delete protection

Response

Index updated successfully

id
string

Index ID (UUID)

name
string

Index name (1-255 chars, alphanumeric, -, _)

dimension
integer

Vector dimension (1-2000)

metric
string

Similarity metric: cosine, euclidean, dot_product (default: cosine)

vector_type
string

Vector type: dense (default: dense)

cloud_provider
string

Cloud provider: AWS, GCP, Azure, Gravix

region
string

Region ID. Allowed values: AWS: us-east-1, us-west-2, eu-west-1; GCP: us-central1; Azure: eastus; Gravix: gravix-us-1

index_type
string

Index type: serverless, dedicated

metadata
object

Custom metadata (max 1MB JSON)

delete_protection
boolean

Enable delete protection (default: false)

updated_at
string<date-time>

Last update timestamp (ISO 8601)

I