Update VectorDB Connection
Endpoint
PUT /apiops/projects/{projectName}/vector-dbs/{vectorDbName}/
Authentication
Requires a Personal API Access Token.
Header
Authorization: Bearer YOUR_TOKEN
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer {token} | Yes |
| Content-Type | application/json | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| vectorDbName | string | Yes | Vector DB connection name (must exist) |
Query Parameters
None
Request Body
Same shape as Create: the body must include "_class": "vector-db" and a nested transport object with its own "family" discriminator. If name is blank in the body it falls back to vectorDbName from the path; otherwise the two must match.
To preserve a stored secret, omit the field. To delete it, send an empty string (""). To rotate it, send the new plaintext value.
Full JSON Body Example - JDBC transport, preserving the stored password (the field is omitted)
{
"_class": "vector-db",
"name": "pgvector-primary",
"description": "Primary pgvector store for RAG (updated)",
"enabled": true,
"dbType": "PGVECTOR",
"defaultCollectionName": "documents",
"embeddingDimension": 1536,
"distanceMetric": "COSINE",
"maxBatchSize": 100,
"transport": {
"family": "jdbc",
"connectTimeoutMs": 5000,
"requestTimeoutMs": 30000,
"jdbcUrl": "jdbc:postgresql://db.internal:5432/vectors",
"username": "apinizer",
"pool": {
"minimumIdle": 2,
"maximumPoolSize": 10
}
}
}
Full JSON Body Example - HTTP transport, rotating the apiKey
{
"_class": "vector-db",
"name": "qdrant-cloud",
"description": "Qdrant Cloud cluster",
"enabled": true,
"dbType": "QDRANT",
"defaultCollectionName": "documents",
"embeddingDimension": 1536,
"distanceMetric": "COSINE",
"maxBatchSize": 100,
"transport": {
"family": "http",
"endpoint": "https://xyz.eu-central.aws.cloud.qdrant.io:6333",
"apiVersion": "v1",
"authScheme": "API_KEY_HEADER",
"authHeaderName": "api-key",
"apiKey": "new-rotated-qdrant-key",
"regionCode": "eu-central"
}
}
Request Body Fields
The fields are identical to Create VectorDB Connection. The only behavioral difference is secret handling:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| _class | string | Yes | - | Connection subtype discriminator — must be "vector-db" |
| name | string | No | path value | Connection name — must match vectorDbName if provided; falls back to the path value when blank |
| description | string | No | - | Free-text description |
| enabled | boolean | No | true | Whether the connection is enabled |
| dbType | enum | Yes | - | Vector store type (PGVECTOR, QDRANT, WEAVIATE, MILVUS, CHROMA, PINECONE, REDIS, OTHER) |
| defaultCollectionName | string | No | - | Default collection / index / table name |
| embeddingDimension | integer | No | - | Embedding vector dimension |
| distanceMetric | enum | No | vendor default | COSINE, EUCLIDEAN, DOT_PRODUCT — filled from dbType when omitted |
| maxBatchSize | integer | No | vendor default | Maximum upsert/query batch size — filled from dbType when omitted |
| transport | object | Yes | - | Polymorphic transport sub-document (jdbc / http / redis) — see Create for full transport field tables |
| transport.password / transport.apiKey / transport.apiSecret | string | No | (preserved) | Secret fields — an omitted field preserves the currently stored secret; an empty string ("") deletes it; a non-blank value rotates it |