From 6045e462dc228ed31c503f9b09b85e5f958b6db9 Mon Sep 17 00:00:00 2001 From: Nilay Bhoot Date: Tue, 26 May 2026 13:52:56 -0700 Subject: [PATCH 1/4] Add Vector Databases API spec for public preview --- specification/DigitalOcean-public.v2.yaml | 44 +++++++++ .../examples/curl/vector_databases_create.yml | 7 ++ .../examples/curl/vector_databases_delete.yml | 6 ++ .../examples/curl/vector_databases_get.yml | 6 ++ .../curl/vector_databases_get_credentials.yml | 6 ++ .../vector_databases_get_restore_status.yml | 6 ++ .../examples/curl/vector_databases_list.yml | 6 ++ .../curl/vector_databases_list_backups.yml | 6 ++ .../examples/curl/vector_databases_resize.yml | 7 ++ .../curl/vector_databases_restore_backup.yml | 7 ++ .../examples/curl/vector_databases_update.yml | 7 ++ .../curl/vector_databases_update_tags.yml | 7 ++ .../models/vector_database.yml | 77 ++++++++++++++++ .../models/vector_database_backup.yml | 24 +++++ .../models/vector_database_config.yml | 24 +++++ .../models/vector_database_credentials.yml | 13 +++ .../models/vector_database_endpoints.yml | 15 ++++ .../models/vector_database_restore_status.yml | 26 ++++++ .../resources/vector_databases/parameters.yml | 17 ++++ .../responses/vector_database.yml | 38 ++++++++ .../responses/vector_database_backups.yml | 28 ++++++ .../responses/vector_database_credentials.yml | 17 ++++ .../responses/vector_database_restore.yml | 29 ++++++ .../vector_database_restore_status.yml | 18 ++++ .../responses/vector_databases.yml | 46 ++++++++++ .../vector_databases_create.yml | 89 +++++++++++++++++++ .../vector_databases_delete.yml | 43 +++++++++ .../vector_databases/vector_databases_get.yml | 47 ++++++++++ .../vector_databases_get_credentials.yml | 43 +++++++++ .../vector_databases_get_restore_status.yml | 44 +++++++++ .../vector_databases_list.yml | 46 ++++++++++ .../vector_databases_list_backups.yml | 46 ++++++++++ .../vector_databases_resize.yml | 68 ++++++++++++++ .../vector_databases_restore_backup.yml | 67 ++++++++++++++ .../vector_databases_update.yml | 63 +++++++++++++ .../vector_databases_update_tags.yml | 70 +++++++++++++++ 36 files changed, 1113 insertions(+) create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_create.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_delete.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_get.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_get_credentials.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_get_restore_status.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_list.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_list_backups.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_resize.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_restore_backup.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_update.yml create mode 100644 specification/resources/vector_databases/examples/curl/vector_databases_update_tags.yml create mode 100644 specification/resources/vector_databases/models/vector_database.yml create mode 100644 specification/resources/vector_databases/models/vector_database_backup.yml create mode 100644 specification/resources/vector_databases/models/vector_database_config.yml create mode 100644 specification/resources/vector_databases/models/vector_database_credentials.yml create mode 100644 specification/resources/vector_databases/models/vector_database_endpoints.yml create mode 100644 specification/resources/vector_databases/models/vector_database_restore_status.yml create mode 100644 specification/resources/vector_databases/parameters.yml create mode 100644 specification/resources/vector_databases/responses/vector_database.yml create mode 100644 specification/resources/vector_databases/responses/vector_database_backups.yml create mode 100644 specification/resources/vector_databases/responses/vector_database_credentials.yml create mode 100644 specification/resources/vector_databases/responses/vector_database_restore.yml create mode 100644 specification/resources/vector_databases/responses/vector_database_restore_status.yml create mode 100644 specification/resources/vector_databases/responses/vector_databases.yml create mode 100644 specification/resources/vector_databases/vector_databases_create.yml create mode 100644 specification/resources/vector_databases/vector_databases_delete.yml create mode 100644 specification/resources/vector_databases/vector_databases_get.yml create mode 100644 specification/resources/vector_databases/vector_databases_get_credentials.yml create mode 100644 specification/resources/vector_databases/vector_databases_get_restore_status.yml create mode 100644 specification/resources/vector_databases/vector_databases_list.yml create mode 100644 specification/resources/vector_databases/vector_databases_list_backups.yml create mode 100644 specification/resources/vector_databases/vector_databases_resize.yml create mode 100644 specification/resources/vector_databases/vector_databases_restore_backup.yml create mode 100644 specification/resources/vector_databases/vector_databases_update.yml create mode 100644 specification/resources/vector_databases/vector_databases_update_tags.yml diff --git a/specification/DigitalOcean-public.v2.yaml b/specification/DigitalOcean-public.v2.yaml index 226d8bba3..c1e227892 100644 --- a/specification/DigitalOcean-public.v2.yaml +++ b/specification/DigitalOcean-public.v2.yaml @@ -583,6 +583,13 @@ tags: To interact with Uptime, you will generally send requests to the Uptime endpoint at `/v2/uptime/`. + - name: Vector Databases + description: |- + Vector DB provides APIs for provisioning and managing vector database instances + on DigitalOcean. By sending requests to the `/v2/vector-databases` endpoint, + you can list, create, update, resize, and delete vector database instances, + manage tags, retrieve admin credentials, and work with backups and restores. + - name: "VPC NAT Gateways" description: |- [VPC NAT Gateways](https://docs.digitalocean.com/products/networking/vpc/how-to/create-nat-gateway/) @@ -698,6 +705,7 @@ x-tagGroups: - SSH Keys - Tags - Uptime + - Vector Databases - VPC NAT Gateways - VPC Peerings - VPCs @@ -2339,6 +2347,42 @@ paths: delete: $ref: "resources/tags/tags_unassign_resources.yml" + /v2/vector-databases: + get: + $ref: "resources/vector_databases/vector_databases_list.yml" + post: + $ref: "resources/vector_databases/vector_databases_create.yml" + + /v2/vector-databases/{id}: + get: + $ref: "resources/vector_databases/vector_databases_get.yml" + put: + $ref: "resources/vector_databases/vector_databases_update.yml" + delete: + $ref: "resources/vector_databases/vector_databases_delete.yml" + + /v2/vector-databases/{id}/backups: + get: + $ref: "resources/vector_databases/vector_databases_list_backups.yml" + + /v2/vector-databases/{id}/backups/{backup_id}/restore: + get: + $ref: "resources/vector_databases/vector_databases_get_restore_status.yml" + post: + $ref: "resources/vector_databases/vector_databases_restore_backup.yml" + + /v2/vector-databases/{id}/credentials: + get: + $ref: "resources/vector_databases/vector_databases_get_credentials.yml" + + /v2/vector-databases/{id}/resize: + post: + $ref: "resources/vector_databases/vector_databases_resize.yml" + + /v2/vector-databases/{id}/tags: + put: + $ref: "resources/vector_databases/vector_databases_update_tags.yml" + /v2/volumes: get: $ref: "resources/volumes/volumes_list.yml" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_create.yml b/specification/resources/vector_databases/examples/curl/vector_databases_create.yml new file mode 100644 index 000000000..9f59e73b7 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_create.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"name": "my-vector-db", "region": "nyc3", "size": "medium", "tags": ["production"]}' \ + "https://api.digitalocean.com/v2/vector-databases" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_delete.yml b/specification/resources/vector_databases/examples/curl/vector_databases_delete.yml new file mode 100644 index 000000000..38ba93053 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_delete.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_get.yml b/specification/resources/vector_databases/examples/curl/vector_databases_get.yml new file mode 100644 index 000000000..a821970a5 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_get.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_get_credentials.yml b/specification/resources/vector_databases/examples/curl/vector_databases_get_credentials.yml new file mode 100644 index 000000000..a61de28eb --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_get_credentials.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/credentials" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_get_restore_status.yml b/specification/resources/vector_databases/examples/curl/vector_databases_get_restore_status.yml new file mode 100644 index 000000000..087a0cc57 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_get_restore_status.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/backups/vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000/restore" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_list.yml b/specification/resources/vector_databases/examples/curl/vector_databases_list.yml new file mode 100644 index 000000000..33daa8005 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_list.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vector-databases" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_list_backups.yml b/specification/resources/vector_databases/examples/curl/vector_databases_list_backups.yml new file mode 100644 index 000000000..659748dab --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_list_backups.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/backups" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_resize.yml b/specification/resources/vector_databases/examples/curl/vector_databases_resize.yml new file mode 100644 index 000000000..fb1fe5d47 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_resize.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"size": "large"}' \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/resize" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_restore_backup.yml b/specification/resources/vector_databases/examples/curl/vector_databases_restore_backup.yml new file mode 100644 index 000000000..738cc673e --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_restore_backup.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backup_id": "vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000"}' \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/backups/vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000/restore" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_update.yml b/specification/resources/vector_databases/examples/curl/vector_databases_update.yml new file mode 100644 index 000000000..b620fecea --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_update.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "config": {"default_quantization": "rq", "enable_auto_schema": true, "weaviate_version": "1.24.0"}}' \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_update_tags.yml b/specification/resources/vector_databases/examples/curl/vector_databases_update_tags.yml new file mode 100644 index 000000000..3783bd851 --- /dev/null +++ b/specification/resources/vector_databases/examples/curl/vector_databases_update_tags.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + -d '{"tags": ["production", "staging"]}' \ + "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/tags" diff --git a/specification/resources/vector_databases/models/vector_database.yml b/specification/resources/vector_databases/models/vector_database.yml new file mode 100644 index 000000000..cc1da9b3b --- /dev/null +++ b/specification/resources/vector_databases/models/vector_database.yml @@ -0,0 +1,77 @@ +type: object + +description: VectorDB represents a provisioned vector database instance. + +properties: + id: + type: string + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: A unique ID that can be used to identify and reference a vector database. + readOnly: true + name: + type: string + example: my-vector-db + description: A unique, human-readable name referring to a vector database. + region: + type: string + example: nyc3 + description: The slug identifier for the region where the vector database is located. + owner_uuid: + type: string + example: 8b3b4c5d-6e7f-8901-a234-567890bcdef0 + description: The UUID of the account that owns the vector database. + readOnly: true + status: + type: string + enum: + - pending + - creating + - active + - errored + - deleting + example: active + description: 'Lifecycle state: pending, creating, active, errored, or deleting.' + readOnly: true + config: + allOf: + - $ref: './vector_database_config.yml' + description: Advanced configuration. + created_at: + type: string + format: date-time + example: '2024-01-11T18:37:36Z' + description: >- + A time value given in ISO8601 combined date and time format that represents + when the vector database was created. + readOnly: true + updated_at: + type: string + format: date-time + example: '2024-01-11T18:37:36Z' + description: >- + A time value given in ISO8601 combined date and time format that represents + when the vector database was last updated. + readOnly: true + endpoints: + allOf: + - $ref: './vector_database_endpoints.yml' + description: Connection endpoints for the database instance. + readOnly: true + size: + type: string + enum: + - small + - medium + - large + example: medium + description: 'Resource tier: small, medium, or large.' + tags: + type: array + items: + type: string + example: + - production + nullable: true + description: >- + An array of tags (as strings) to organize your vector database. +

Requires `tag:create` scope. diff --git a/specification/resources/vector_databases/models/vector_database_backup.yml b/specification/resources/vector_databases/models/vector_database_backup.yml new file mode 100644 index 000000000..49f04123c --- /dev/null +++ b/specification/resources/vector_databases/models/vector_database_backup.yml @@ -0,0 +1,24 @@ +type: object + +description: Backup represents a single backup of a vector database. + +properties: + backup_id: + type: string + example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + description: >- + Unique identifier for the backup (e.g., "vectordb-{uuid}-20240101-120000"). + status: + type: string + example: SUCCESS + description: 'Status of the backup: SUCCESS.' + started_at: + type: string + format: date-time + example: '2024-01-01T12:00:00Z' + description: Timestamp when the backup process started. + completed_at: + type: string + format: date-time + example: '2024-01-01T12:05:00Z' + description: Timestamp when the backup process completed. diff --git a/specification/resources/vector_databases/models/vector_database_config.yml b/specification/resources/vector_databases/models/vector_database_config.yml new file mode 100644 index 000000000..2823f296e --- /dev/null +++ b/specification/resources/vector_databases/models/vector_database_config.yml @@ -0,0 +1,24 @@ +type: object + +description: VectorDBConfig holds optional, advanced cluster settings. + +properties: + default_quantization: + type: string + enum: + - rq + - pq + - bq + - sq + example: rq + description: >- + Default vector compression for new collections: rq, pq, bq, or sq. Empty + means platform default (rq). + enable_auto_schema: + type: boolean + example: true + description: Whether to enable automatic schema creation for new collections. + weaviate_version: + type: string + example: '1.24.0' + description: The Weaviate version running on the vector database cluster. diff --git a/specification/resources/vector_databases/models/vector_database_credentials.yml b/specification/resources/vector_databases/models/vector_database_credentials.yml new file mode 100644 index 000000000..dd487a8f8 --- /dev/null +++ b/specification/resources/vector_databases/models/vector_database_credentials.yml @@ -0,0 +1,13 @@ +type: object + +properties: + user_id: + type: string + example: admin-user-abc123 + description: >- + Weaviate DB user id from the cluster secret (opaque; matches what was + provisioned). + api_token: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + description: API token for that user. diff --git a/specification/resources/vector_databases/models/vector_database_endpoints.yml b/specification/resources/vector_databases/models/vector_database_endpoints.yml new file mode 100644 index 000000000..bf365ee65 --- /dev/null +++ b/specification/resources/vector_databases/models/vector_database_endpoints.yml @@ -0,0 +1,15 @@ +type: object + +description: VectorDBEndpoints contains the connection endpoints for a vector database instance. + +properties: + http: + type: string + example: https://my-db-abc123.vectordb.digitalocean.com + description: >- + HTTP endpoint (e.g. "https://my-db-abc123.vectordb.digitalocean.com"). + grpc: + type: string + example: my-db-abc123.vectordb.digitalocean.com:443 + description: >- + gRPC endpoint (e.g. "my-db-abc123.vectordb.digitalocean.com:443"). diff --git a/specification/resources/vector_databases/models/vector_database_restore_status.yml b/specification/resources/vector_databases/models/vector_database_restore_status.yml new file mode 100644 index 000000000..ca1931df3 --- /dev/null +++ b/specification/resources/vector_databases/models/vector_database_restore_status.yml @@ -0,0 +1,26 @@ +type: object + +properties: + backup_id: + type: string + example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + description: The backup ID being restored. + status: + type: string + enum: + - STARTED + - TRANSFERRING + - TRANSFERRED + - FINALIZING + - SUCCESS + - FAILED + - CANCELLING + - CANCELED + example: STARTED + description: >- + Current status: STARTED, TRANSFERRING, TRANSFERRED, FINALIZING, SUCCESS, + FAILED, CANCELLING, CANCELED. + error: + type: string + example: '' + description: Error message if the restore failed. diff --git a/specification/resources/vector_databases/parameters.yml b/specification/resources/vector_databases/parameters.yml new file mode 100644 index 000000000..e564da7ff --- /dev/null +++ b/specification/resources/vector_databases/parameters.yml @@ -0,0 +1,17 @@ +id: + in: path + name: id + description: A unique identifier for a vector database. + required: true + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + schema: + type: string + +backup_id: + in: path + name: backup_id + description: A unique identifier for a vector database backup. + required: true + example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + schema: + type: string diff --git a/specification/resources/vector_databases/responses/vector_database.yml b/specification/resources/vector_databases/responses/vector_database.yml new file mode 100644 index 000000000..cc83fd532 --- /dev/null +++ b/specification/resources/vector_databases/responses/vector_database.yml @@ -0,0 +1,38 @@ +description: A JSON object with a key of `vector_db`. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + type: object + properties: + vector_db: + $ref: '../models/vector_database.yml' + required: + - vector_db + example: + vector_db: + id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + name: my-vector-db + region: nyc3 + owner_uuid: 8b3b4c5d-6e7f-8901-a234-567890bcdef0 + status: active + config: + default_quantization: rq + enable_auto_schema: true + weaviate_version: '1.24.0' + created_at: '2024-01-11T18:37:36Z' + updated_at: '2024-01-11T18:37:36Z' + endpoints: + http: https://my-db-abc123.vectordb.digitalocean.com + grpc: my-db-abc123.vectordb.digitalocean.com:443 + size: medium + tags: + - production diff --git a/specification/resources/vector_databases/responses/vector_database_backups.yml b/specification/resources/vector_databases/responses/vector_database_backups.yml new file mode 100644 index 000000000..333ebeb6e --- /dev/null +++ b/specification/resources/vector_databases/responses/vector_database_backups.yml @@ -0,0 +1,28 @@ +description: A JSON object with a key of `backups`. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + type: object + properties: + backups: + type: array + items: + $ref: '../models/vector_database_backup.yml' + description: List of available backups. Only backups with status SUCCESS are returned. + required: + - backups + example: + backups: + - backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + status: SUCCESS + started_at: '2024-01-01T12:00:00Z' + completed_at: '2024-01-01T12:05:00Z' diff --git a/specification/resources/vector_databases/responses/vector_database_credentials.yml b/specification/resources/vector_databases/responses/vector_database_credentials.yml new file mode 100644 index 000000000..dd1924b2a --- /dev/null +++ b/specification/resources/vector_databases/responses/vector_database_credentials.yml @@ -0,0 +1,17 @@ +description: A JSON object containing admin credentials for the vector database. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + $ref: '../models/vector_database_credentials.yml' + example: + user_id: admin-user-abc123 + api_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... diff --git a/specification/resources/vector_databases/responses/vector_database_restore.yml b/specification/resources/vector_databases/responses/vector_database_restore.yml new file mode 100644 index 000000000..1bb23f7c0 --- /dev/null +++ b/specification/resources/vector_databases/responses/vector_database_restore.yml @@ -0,0 +1,29 @@ +description: A JSON object with the initial status of a restore operation. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + type: object + properties: + backup_id: + type: string + example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + description: The backup ID being restored. + status: + type: string + example: STARTED + description: Initial status of the restore operation (e.g., "STARTED"). + required: + - backup_id + - status + example: + backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + status: STARTED diff --git a/specification/resources/vector_databases/responses/vector_database_restore_status.yml b/specification/resources/vector_databases/responses/vector_database_restore_status.yml new file mode 100644 index 000000000..ce81441ba --- /dev/null +++ b/specification/resources/vector_databases/responses/vector_database_restore_status.yml @@ -0,0 +1,18 @@ +description: A JSON object with the current status of a restore operation. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + $ref: '../models/vector_database_restore_status.yml' + example: + backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + status: TRANSFERRING + error: '' diff --git a/specification/resources/vector_databases/responses/vector_databases.yml b/specification/resources/vector_databases/responses/vector_databases.yml new file mode 100644 index 000000000..24ba61dd4 --- /dev/null +++ b/specification/resources/vector_databases/responses/vector_databases.yml @@ -0,0 +1,46 @@ +description: A JSON object with a key of `vector_dbs`. + +headers: + ratelimit-limit: + $ref: '../../../shared/headers.yml#/ratelimit-limit' + ratelimit-remaining: + $ref: '../../../shared/headers.yml#/ratelimit-remaining' + ratelimit-reset: + $ref: '../../../shared/headers.yml#/ratelimit-reset' + +content: + application/json: + schema: + type: object + properties: + vector_dbs: + type: array + items: + $ref: '../models/vector_database.yml' + total: + type: integer + example: 1 + description: Total number of vector databases. + required: + - vector_dbs + - total + example: + vector_dbs: + - id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + name: my-vector-db + region: nyc3 + owner_uuid: 8b3b4c5d-6e7f-8901-a234-567890bcdef0 + status: active + config: + default_quantization: rq + enable_auto_schema: true + weaviate_version: '1.24.0' + created_at: '2024-01-11T18:37:36Z' + updated_at: '2024-01-11T18:37:36Z' + endpoints: + http: https://my-db-abc123.vectordb.digitalocean.com + grpc: my-db-abc123.vectordb.digitalocean.com:443 + size: medium + tags: + - production + total: 1 diff --git a/specification/resources/vector_databases/vector_databases_create.yml b/specification/resources/vector_databases/vector_databases_create.yml new file mode 100644 index 000000000..7dcea3ecb --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_create.yml @@ -0,0 +1,89 @@ +operationId: vectorDatabases_create + +summary: Create a New Vector Database + +description: >- + To create a vector database, send a POST request to `/v2/vector-databases`. + + + The create response returns a JSON object with a key called `vector_db`. The value + of this is an object that contains the standard attributes associated with a vector + database. The initial value of the vector database's `status` attribute is + `creating`. When the database is ready to receive traffic, this changes to + `active`. + + + The embedded `endpoints` object contains the connection information needed to access + the vector database. + +tags: + - Vector Databases + +requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - name + - region + - size + properties: + name: + type: string + example: my-vector-db + description: Required. Human-readable name for the database. + region: + type: string + example: nyc3 + description: Required. Region slug where the database will be provisioned. + size: + type: string + enum: + - small + - medium + - large + example: medium + description: 'Required. Resource tier: small, medium, or large.' + tags: + type: array + items: + type: string + example: + - production + description: A set of arbitrary tags to organize your vector database. + examples: + Create a New Vector Database: + value: + name: my-vector-db + region: nyc3 + size: medium + tags: + - production + +responses: + '201': + $ref: 'responses/vector_database.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_create.yml' + +security: + - bearer_auth: + - 'database:create' diff --git a/specification/resources/vector_databases/vector_databases_delete.yml b/specification/resources/vector_databases/vector_databases_delete.yml new file mode 100644 index 000000000..923c4904c --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_delete.yml @@ -0,0 +1,43 @@ +operationId: vectorDatabases_delete + +summary: Destroy a Vector Database + +description: >- + To destroy a specific vector database, send a DELETE request to + `/v2/vector-databases/$VECTOR_DATABASE_ID`. + + + A status of 204 will be given. This indicates that the request was processed + successfully, but that no response body is needed. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +responses: + '204': + $ref: '../../shared/responses/no_content.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_delete.yml' + +security: + - bearer_auth: + - 'database:delete' diff --git a/specification/resources/vector_databases/vector_databases_get.yml b/specification/resources/vector_databases/vector_databases_get.yml new file mode 100644 index 000000000..c2be7d8f9 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_get.yml @@ -0,0 +1,47 @@ +operationId: vectorDatabases_get + +summary: Retrieve an Existing Vector Database + +description: >- + To show information about an existing vector database, send a GET request to + `/v2/vector-databases/$VECTOR_DATABASE_ID`. + + + The response will be a JSON object with a `vector_db` key. This will be set to an + object containing the standard vector database attributes. + + + The embedded `endpoints` object will contain the connection information needed to + access the vector database. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +responses: + '200': + $ref: 'responses/vector_database.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_get.yml' + +security: + - bearer_auth: + - 'database:read' diff --git a/specification/resources/vector_databases/vector_databases_get_credentials.yml b/specification/resources/vector_databases/vector_databases_get_credentials.yml new file mode 100644 index 000000000..87b6e2aca --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_get_credentials.yml @@ -0,0 +1,43 @@ +operationId: vectorDatabases_get_credentials + +summary: Retrieve Admin Credentials for a Vector Database + +description: >- + To retrieve the admin credentials for a vector database, send a GET request to + `/v2/vector-databases/$VECTOR_DATABASE_ID/credentials`. + + + The response will be a JSON object containing the `user_id` and `api_token` for the + Weaviate admin user provisioned on the cluster. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +responses: + '200': + $ref: 'responses/vector_database_credentials.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_get_credentials.yml' + +security: + - bearer_auth: + - 'database:read' diff --git a/specification/resources/vector_databases/vector_databases_get_restore_status.yml b/specification/resources/vector_databases/vector_databases_get_restore_status.yml new file mode 100644 index 000000000..b3bc04a70 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_get_restore_status.yml @@ -0,0 +1,44 @@ +operationId: vectorDatabases_get_restore_status + +summary: Get Restore Status for a Vector Database Backup + +description: >- + To get the current status of a restore operation, send a GET request to + `/v2/vector-databases/$VECTOR_DATABASE_ID/backups/$BACKUP_ID/restore`. + + + The response will be a JSON object with the `backup_id`, current `status`, and an + `error` message if the restore failed. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + - $ref: 'parameters.yml#/backup_id' + +responses: + '200': + $ref: 'responses/vector_database_restore_status.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_get_restore_status.yml' + +security: + - bearer_auth: + - 'database:read' diff --git a/specification/resources/vector_databases/vector_databases_list.yml b/specification/resources/vector_databases/vector_databases_list.yml new file mode 100644 index 000000000..012b96140 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_list.yml @@ -0,0 +1,46 @@ +operationId: vectorDatabases_list + +summary: List All Vector Databases + +description: >- + To list all of the vector databases available on your account, send a GET request to + `/v2/vector-databases`. Use the `page` and `per_page` query parameters to paginate + through the results. + + + The result will be a JSON object with a `vector_dbs` key set to an array of vector + database objects, each of which will contain the standard vector database attributes, + and a `total` key with the total number of vector databases. + +tags: + - Vector Databases + +parameters: + - $ref: '../../shared/parameters.yml#/page' + - $ref: '../../shared/parameters.yml#/per_page' + +responses: + '200': + $ref: 'responses/vector_databases.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_list.yml' + +security: + - bearer_auth: + - 'database:read' diff --git a/specification/resources/vector_databases/vector_databases_list_backups.yml b/specification/resources/vector_databases/vector_databases_list_backups.yml new file mode 100644 index 000000000..38c110ee7 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_list_backups.yml @@ -0,0 +1,46 @@ +operationId: vectorDatabases_list_backups + +summary: List Backups for a Vector Database + +description: >- + To list all of the available backups of a vector database, send a GET request to + `/v2/vector-databases/$VECTOR_DATABASE_ID/backups`. + + + Only backups with status SUCCESS are returned. + + + The result will be a JSON object with a `backups` key set to an array of backup + objects, each of which will contain the backup ID, status, and timestamps. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +responses: + '200': + $ref: 'responses/vector_database_backups.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_list_backups.yml' + +security: + - bearer_auth: + - 'database:read' diff --git a/specification/resources/vector_databases/vector_databases_resize.yml b/specification/resources/vector_databases/vector_databases_resize.yml new file mode 100644 index 000000000..029aa7887 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_resize.yml @@ -0,0 +1,68 @@ +operationId: vectorDatabases_post_resize + +summary: Resize a Vector Database + +description: >- + To resize a vector database, send a POST request to + `/v2/vector-databases/$VECTOR_DATABASE_ID/resize`. The body of the request must + specify the target `size`. + + + The response will be a JSON object with a `vector_db` key set to the updated vector + database object. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - size + properties: + id: + type: string + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: ID of the vector database to resize. + size: + type: string + enum: + - small + - medium + - large + example: large + description: 'Required. Target resource tier: small, medium, or large.' + example: + size: large + +responses: + '200': + $ref: 'responses/vector_database.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_resize.yml' + +security: + - bearer_auth: + - 'database:update' diff --git a/specification/resources/vector_databases/vector_databases_restore_backup.yml b/specification/resources/vector_databases/vector_databases_restore_backup.yml new file mode 100644 index 000000000..a929acdca --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_restore_backup.yml @@ -0,0 +1,67 @@ +operationId: vectorDatabases_post_restore_backup + +summary: Restore a Vector Database from a Backup + +description: >- + To restore a vector database from a backup, send a POST request to + `/v2/vector-databases/$VECTOR_DATABASE_ID/backups/$BACKUP_ID/restore`. + + + The restore is performed asynchronously; use the Get Restore Status endpoint to + monitor progress. + + + The response will be a JSON object with the `backup_id` and initial `status` of the + restore operation. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + - $ref: 'parameters.yml#/backup_id' + +requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + id: + type: string + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: Required. ID of the vector database. + backup_id: + type: string + example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + description: Required. ID of the backup to restore from. + example: + id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 + +responses: + '200': + $ref: 'responses/vector_database_restore.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_restore_backup.yml' + +security: + - bearer_auth: + - 'database:update' diff --git a/specification/resources/vector_databases/vector_databases_update.yml b/specification/resources/vector_databases/vector_databases_update.yml new file mode 100644 index 000000000..3922a8b58 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_update.yml @@ -0,0 +1,63 @@ +operationId: vectorDatabases_update + +summary: Update a Vector Database + +description: >- + To update the configuration of an existing vector database, send a PUT request to + `/v2/vector-databases/$VECTOR_DATABASE_ID`. + + + The response will be a JSON object with a `vector_db` key set to the updated vector + database object. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + id: + type: string + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: ID of the vector database to update. + config: + $ref: 'models/vector_database_config.yml' + example: + id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + config: + default_quantization: rq + enable_auto_schema: true + weaviate_version: '1.24.0' + +responses: + '200': + $ref: 'responses/vector_database.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_update.yml' + +security: + - bearer_auth: + - 'database:update' diff --git a/specification/resources/vector_databases/vector_databases_update_tags.yml b/specification/resources/vector_databases/vector_databases_update_tags.yml new file mode 100644 index 000000000..6ff7e8fc3 --- /dev/null +++ b/specification/resources/vector_databases/vector_databases_update_tags.yml @@ -0,0 +1,70 @@ +operationId: vectorDatabases_update_tags + +summary: Update Tags on a Vector Database + +description: >- + To update the tags on an existing vector database, send a PUT request to + `/v2/vector-databases/$VECTOR_DATABASE_ID/tags`. The tags in the request body + replace all existing tags on the vector database. + + + The response will be a JSON object with a `vector_db` key set to the updated vector + database object. + +tags: + - Vector Databases + +parameters: + - $ref: 'parameters.yml#/id' + +requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + id: + type: string + example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + description: ID of the vector database to update tags for. + tags: + type: array + items: + type: string + example: + - production + - staging + description: Tags to set on the vector database. Replaces all existing tags. + example: + tags: + - production + - staging + +responses: + '200': + $ref: 'responses/vector_database.yml' + + '401': + $ref: '../../shared/responses/unauthorized.yml' + + '404': + $ref: '../../shared/responses/not_found.yml' + + '429': + $ref: '../../shared/responses/too_many_requests.yml' + + '500': + $ref: '../../shared/responses/server_error.yml' + + default: + $ref: '../../shared/responses/unexpected_error.yml' + +x-codeSamples: + - $ref: 'examples/curl/vector_databases_update_tags.yml' + +security: + - bearer_auth: + - 'database:update' From a21f5a7c49c0b152ed6bc1670b0efe5aec0c5fca Mon Sep 17 00:00:00 2001 From: Nilay Bhoot Date: Tue, 16 Jun 2026 18:28:49 -0700 Subject: [PATCH 2/4] Generate vector databases OpenAPI spec from proto (KBAAS-341) Co-Authored-By: Claude Opus 4.8 (1M context) --- .../vector_databases/definitions.yml | 420 ++++++++++++++++++ .../models/vector_database.yml | 77 ---- .../models/vector_database_backup.yml | 24 - .../models/vector_database_config.yml | 24 - .../models/vector_database_credentials.yml | 13 - .../models/vector_database_endpoints.yml | 15 - .../models/vector_database_restore_status.yml | 26 -- .../resources/vector_databases/parameters.yml | 17 - .../responses/vector_database.yml | 38 -- .../responses/vector_database_backups.yml | 28 -- .../responses/vector_database_credentials.yml | 17 - .../responses/vector_database_restore.yml | 29 -- .../vector_database_restore_status.yml | 18 - .../responses/vector_databases.yml | 46 -- .../vector_databases_create.yml | 116 ++--- .../vector_databases_delete.yml | 73 ++- .../vector_databases/vector_databases_get.yml | 82 ++-- .../vector_databases_get_credentials.yml | 77 ++-- .../vector_databases_get_restore_status.yml | 84 ++-- .../vector_databases_list.yml | 84 ++-- .../vector_databases_list_backups.yml | 80 ++-- .../vector_databases_resize.yml | 99 ++--- .../vector_databases_restore_backup.yml | 105 ++--- .../vector_databases_update.yml | 94 ++-- .../vector_databases_update_tags.yml | 100 ++--- 25 files changed, 862 insertions(+), 924 deletions(-) create mode 100644 specification/resources/vector_databases/definitions.yml delete mode 100644 specification/resources/vector_databases/models/vector_database.yml delete mode 100644 specification/resources/vector_databases/models/vector_database_backup.yml delete mode 100644 specification/resources/vector_databases/models/vector_database_config.yml delete mode 100644 specification/resources/vector_databases/models/vector_database_credentials.yml delete mode 100644 specification/resources/vector_databases/models/vector_database_endpoints.yml delete mode 100644 specification/resources/vector_databases/models/vector_database_restore_status.yml delete mode 100644 specification/resources/vector_databases/parameters.yml delete mode 100644 specification/resources/vector_databases/responses/vector_database.yml delete mode 100644 specification/resources/vector_databases/responses/vector_database_backups.yml delete mode 100644 specification/resources/vector_databases/responses/vector_database_credentials.yml delete mode 100644 specification/resources/vector_databases/responses/vector_database_restore.yml delete mode 100644 specification/resources/vector_databases/responses/vector_database_restore_status.yml delete mode 100644 specification/resources/vector_databases/responses/vector_databases.yml diff --git a/specification/resources/vector_databases/definitions.yml b/specification/resources/vector_databases/definitions.yml new file mode 100644 index 000000000..7a146ba95 --- /dev/null +++ b/specification/resources/vector_databases/definitions.yml @@ -0,0 +1,420 @@ +vectordbBackup: + description: Backup represents a single backup of a vector database. + properties: + backup_id: + description: Unique identifier for the backup (e.g., "vectordb-{uuid}-20240101-120000"). + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + completed_at: + description: Timestamp when the backup process completed. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + started_at: + description: Timestamp when the backup process started. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + status: + description: 'Status of the backup: SUCCESS.' + example: example string + type: string + type: object +vectordbCreateBackupResponse: + properties: + backup_id: + description: The generated backup ID (e.g., "vectordb-{uuid}-{timestamp}"). + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + status: + description: Initial status of the backup operation (e.g., "STARTED"). + example: example string + type: string + type: object +vectordbCreateVectorDBRequest: + properties: + name: + description: Required. Human-readable name for the database. + example: example name + type: string + project_id: + description: Required. ID of the project to create the vector database in. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + region: + description: Required. Region slug where the database will be provisioned. + example: tor1 + type: string + size: + description: 'Required. Resource tier: small, medium, or large.' + example: example string + type: string + tags: + description: A set of arbitrary tags to organize your vector database + example: + - example string + items: + example: example string + type: string + type: array + type: object +vectordbCreateVectorDBResponse: + properties: + vector_db: + $ref: '#/vectordbVectorDB' + type: object +vectordbDeleteVectorDBResponse: + type: object +vectordbForkBackupMode: + default: FORK_BACKUP_MODE_UNSPECIFIED + description: |- + ForkBackupMode selects how ForkVectorDB obtains the backup it restores + onto the new instance. + + - FORK_BACKUP_MODE_UNSPECIFIED: Default; rejected by the API. Callers must pick one of the modes below + explicitly so behaviour is never inferred from a missing value. + - USE_BACKUP_ID: Restore from the backup_id supplied in the request. The backup must + belong to the source instance and have completed successfully. + - LATEST_SUCCESS: Restore from the most recent successful backup of the source instance. + Fastest path because it skips taking a new backup; backup_id is ignored. + - FRESH_BACKUP: Trigger a new backup on the source instance and restore from it once + it completes. The intermediate backup is deleted after the fork + succeeds; backup_id is ignored. + enum: + - FORK_BACKUP_MODE_UNSPECIFIED + - USE_BACKUP_ID + - LATEST_SUCCESS + - FRESH_BACKUP + example: FORK_BACKUP_MODE_UNSPECIFIED + type: string +vectordbForkVectorDBRequest: + properties: + backup_id: + description: |- + Required when backup_mode = USE_BACKUP_ID. Ignored otherwise. + Must reference a SUCCESS backup belonging to the source instance. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + backup_mode: + $ref: '#/vectordbForkBackupMode' + id: + description: Required. ID of the source vector database to fork from (path parameter). + example: example string + type: string + name: + description: |- + Required. Human-readable name for the new (forked) database. + Must be unique within the owner. + example: example name + type: string + project_id: + description: Required. ID of the project the forked database will be created + in. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + region: + description: |- + Required. Region slug where the forked database will be provisioned. + May differ from the source region. + example: tor1 + type: string + size: + description: 'Required. Resource tier for the forked database: small, medium, + or large.' + example: example string + type: string + tags: + description: |- + Optional. Tags to apply to the forked database. Tags are not inherited + from the source instance. + example: + - example string + items: + example: example string + type: string + type: array + type: object +vectordbForkVectorDBResponse: + properties: + vector_db: + $ref: '#/vectordbVectorDB' + type: object +vectordbGetRestoreStatusResponse: + properties: + backup_id: + description: The backup ID being restored. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + error: + description: Error message if the restore failed. + example: example string + type: string + status: + description: 'Current status: STARTED, TRANSFERRING, TRANSFERRED, FINALIZING, + SUCCESS, FAILED, CANCELLING, CANCELED.' + example: example string + type: string + type: object +vectordbGetVectorDBAdminCredentialsResponse: + properties: + api_token: + description: API token for that user. + example: example string + type: string + user_id: + description: Database user id from the cluster secret (opaque; matches what + was provisioned). + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +vectordbGetVectorDBResponse: + properties: + vector_db: + $ref: '#/vectordbVectorDB' + type: object +vectordbListBackupsResponse: + properties: + backups: + description: List of available backups. + items: + $ref: '#/vectordbBackup' + type: array + type: object +vectordbListPlansResponse: + properties: + plans: + items: + $ref: '#/vectordbVectorDBPlan' + type: array + type: object +vectordbListVectorDBsResponse: + properties: + total: + example: 123 + format: int64 + type: integer + vector_dbs: + items: + $ref: '#/vectordbVectorDB' + type: array + type: object +vectordbResizeVectorDBRequest: + properties: + id: + description: Required. ID of the vector database to resize. + example: example string + type: string + size: + description: 'Required. Target resource tier: small, medium, or large.' + example: example string + type: string + type: object +vectordbResizeVectorDBResponse: + properties: + vector_db: + $ref: '#/vectordbVectorDB' + type: object +vectordbRestoreBackupRequest: + properties: + backup_id: + description: Required. ID of the backup to restore from. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + id: + description: Required. ID of the vector database. + example: example string + type: string + type: object +vectordbRestoreBackupResponse: + properties: + backup_id: + description: The backup ID being restored. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + status: + description: Initial status of the restore operation (e.g., "STARTED"). + example: example string + type: string + type: object +vectordbRotateVectorDBUserCredentialsRequest: + properties: + id: + description: Required. ID of the vector database whose user API key should be + rotated. + example: example string + type: string + user: + description: |- + Required. Database user id whose API key should be rotated + (e.g. "do-admin"). Must be 1-63 chars, [A-Za-z0-9_-]; the server + validates this independently of any path routing. + example: example string + type: string + type: object +vectordbUpdateVectorDBRequest: + properties: + config: + $ref: '#/vectordbVectorDBConfig' + id: + description: ID of the vector database. + example: example string + type: string + project_id: + description: Optional. New project UUID to assign the database to. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +vectordbUpdateVectorDBResponse: + properties: + vector_db: + $ref: '#/vectordbVectorDB' + type: object +vectordbUpdateVectorDBTagsRequest: + properties: + id: + description: Required. ID of the vector database to update tags for. + example: example string + type: string + tags: + description: Tags to set on the vector database. Replaces all existing tags. + example: + - example string + items: + example: example string + type: string + type: array + type: object +vectordbUpdateVectorDBTagsResponse: + properties: + vector_db: + $ref: '#/vectordbVectorDB' + type: object +vectordbVectorDB: + description: VectorDB represents a provisioned vector database instance. + properties: + config: + $ref: '#/vectordbVectorDBConfig' + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + endpoints: + $ref: '#/vectordbVectorDBEndpoints' + forked_from_id: + description: |- + ID of the vector database this instance was forked from. Empty when the + instance was created directly via CreateVectorDB. Read-only and set by + the platform at fork time; never modifiable through UpdateVectorDB. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + id: + example: example string + type: string + last_restore_id: + description: |- + Backup_id of the most recent restore initiated against this instance. + Empty if no restore has ever been triggered. Lets callers recover the + identifier of an in-flight or last-completed restore without having + to retain the RestoreBackupResponse themselves. Use it with + GetRestoreStatus to fetch the live status. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + name: + example: example name + type: string + owner_uuid: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + project_id: + description: Project this database belongs to. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + region: + example: tor1 + type: string + size: + description: 'Resource tier: small, medium, or large.' + example: example string + type: string + status: + description: 'Lifecycle state: pending, creating, active, errored, or deleting.' + example: example string + type: string + tags: + example: + - example string + items: + example: example string + type: string + type: array + updated_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + type: object +vectordbVectorDBConfig: + description: VectorDBConfig holds optional, advanced cluster settings. + properties: + default_quantization: + description: 'Default vector compression for new collections: rq, pq, bq, or + sq. Empty means platform default (rq).' + example: example string + type: string + enable_auto_schema: + example: true + type: boolean + weaviate_version: + description: The Vector Database version running on the cluster. + example: example string + type: string + type: object +vectordbVectorDBEndpoints: + description: VectorDBEndpoints contains the connection endpoints for a vector database + instance. + properties: + grpc: + description: Endpoint for gRPC connections (e.g. "my-db-tor1-a1b2c3d4-grpc.weaviate.ondigitalocean.com:443"). + example: my-db-tor1-a1b2c3d4-grpc.weaviate.ondigitalocean.com:443 + type: string + http: + description: Endpoint for HTTPS connections (e.g. "https://my-db-tor1-a1b2c3d4.weaviate.ondigitalocean.com"). + example: https://my-db-tor1-a1b2c3d4.weaviate.ondigitalocean.com + type: string + type: object +vectordbVectorDBPlan: + properties: + deprecated: + example: true + type: boolean + disk_mib: + example: 123 + format: int64 + type: integer + enabled_regions: + description: |- + Regions where this plan can be provisioned. An empty list means the + plan is not currently offered anywhere. + example: + - tor1 + items: + example: example string + type: string + type: array + hourly_price: + example: example string + type: string + monthly_price: + example: example string + type: string + size: + example: example string + type: string + usable_memory_mib: + example: 123 + format: int64 + type: integer + vcpu: + example: 123 + format: int64 + type: integer + type: object diff --git a/specification/resources/vector_databases/models/vector_database.yml b/specification/resources/vector_databases/models/vector_database.yml deleted file mode 100644 index cc1da9b3b..000000000 --- a/specification/resources/vector_databases/models/vector_database.yml +++ /dev/null @@ -1,77 +0,0 @@ -type: object - -description: VectorDB represents a provisioned vector database instance. - -properties: - id: - type: string - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: A unique ID that can be used to identify and reference a vector database. - readOnly: true - name: - type: string - example: my-vector-db - description: A unique, human-readable name referring to a vector database. - region: - type: string - example: nyc3 - description: The slug identifier for the region where the vector database is located. - owner_uuid: - type: string - example: 8b3b4c5d-6e7f-8901-a234-567890bcdef0 - description: The UUID of the account that owns the vector database. - readOnly: true - status: - type: string - enum: - - pending - - creating - - active - - errored - - deleting - example: active - description: 'Lifecycle state: pending, creating, active, errored, or deleting.' - readOnly: true - config: - allOf: - - $ref: './vector_database_config.yml' - description: Advanced configuration. - created_at: - type: string - format: date-time - example: '2024-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that represents - when the vector database was created. - readOnly: true - updated_at: - type: string - format: date-time - example: '2024-01-11T18:37:36Z' - description: >- - A time value given in ISO8601 combined date and time format that represents - when the vector database was last updated. - readOnly: true - endpoints: - allOf: - - $ref: './vector_database_endpoints.yml' - description: Connection endpoints for the database instance. - readOnly: true - size: - type: string - enum: - - small - - medium - - large - example: medium - description: 'Resource tier: small, medium, or large.' - tags: - type: array - items: - type: string - example: - - production - nullable: true - description: >- - An array of tags (as strings) to organize your vector database. -

Requires `tag:create` scope. diff --git a/specification/resources/vector_databases/models/vector_database_backup.yml b/specification/resources/vector_databases/models/vector_database_backup.yml deleted file mode 100644 index 49f04123c..000000000 --- a/specification/resources/vector_databases/models/vector_database_backup.yml +++ /dev/null @@ -1,24 +0,0 @@ -type: object - -description: Backup represents a single backup of a vector database. - -properties: - backup_id: - type: string - example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - description: >- - Unique identifier for the backup (e.g., "vectordb-{uuid}-20240101-120000"). - status: - type: string - example: SUCCESS - description: 'Status of the backup: SUCCESS.' - started_at: - type: string - format: date-time - example: '2024-01-01T12:00:00Z' - description: Timestamp when the backup process started. - completed_at: - type: string - format: date-time - example: '2024-01-01T12:05:00Z' - description: Timestamp when the backup process completed. diff --git a/specification/resources/vector_databases/models/vector_database_config.yml b/specification/resources/vector_databases/models/vector_database_config.yml deleted file mode 100644 index 2823f296e..000000000 --- a/specification/resources/vector_databases/models/vector_database_config.yml +++ /dev/null @@ -1,24 +0,0 @@ -type: object - -description: VectorDBConfig holds optional, advanced cluster settings. - -properties: - default_quantization: - type: string - enum: - - rq - - pq - - bq - - sq - example: rq - description: >- - Default vector compression for new collections: rq, pq, bq, or sq. Empty - means platform default (rq). - enable_auto_schema: - type: boolean - example: true - description: Whether to enable automatic schema creation for new collections. - weaviate_version: - type: string - example: '1.24.0' - description: The Weaviate version running on the vector database cluster. diff --git a/specification/resources/vector_databases/models/vector_database_credentials.yml b/specification/resources/vector_databases/models/vector_database_credentials.yml deleted file mode 100644 index dd487a8f8..000000000 --- a/specification/resources/vector_databases/models/vector_database_credentials.yml +++ /dev/null @@ -1,13 +0,0 @@ -type: object - -properties: - user_id: - type: string - example: admin-user-abc123 - description: >- - Weaviate DB user id from the cluster secret (opaque; matches what was - provisioned). - api_token: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... - description: API token for that user. diff --git a/specification/resources/vector_databases/models/vector_database_endpoints.yml b/specification/resources/vector_databases/models/vector_database_endpoints.yml deleted file mode 100644 index bf365ee65..000000000 --- a/specification/resources/vector_databases/models/vector_database_endpoints.yml +++ /dev/null @@ -1,15 +0,0 @@ -type: object - -description: VectorDBEndpoints contains the connection endpoints for a vector database instance. - -properties: - http: - type: string - example: https://my-db-abc123.vectordb.digitalocean.com - description: >- - HTTP endpoint (e.g. "https://my-db-abc123.vectordb.digitalocean.com"). - grpc: - type: string - example: my-db-abc123.vectordb.digitalocean.com:443 - description: >- - gRPC endpoint (e.g. "my-db-abc123.vectordb.digitalocean.com:443"). diff --git a/specification/resources/vector_databases/models/vector_database_restore_status.yml b/specification/resources/vector_databases/models/vector_database_restore_status.yml deleted file mode 100644 index ca1931df3..000000000 --- a/specification/resources/vector_databases/models/vector_database_restore_status.yml +++ /dev/null @@ -1,26 +0,0 @@ -type: object - -properties: - backup_id: - type: string - example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - description: The backup ID being restored. - status: - type: string - enum: - - STARTED - - TRANSFERRING - - TRANSFERRED - - FINALIZING - - SUCCESS - - FAILED - - CANCELLING - - CANCELED - example: STARTED - description: >- - Current status: STARTED, TRANSFERRING, TRANSFERRED, FINALIZING, SUCCESS, - FAILED, CANCELLING, CANCELED. - error: - type: string - example: '' - description: Error message if the restore failed. diff --git a/specification/resources/vector_databases/parameters.yml b/specification/resources/vector_databases/parameters.yml deleted file mode 100644 index e564da7ff..000000000 --- a/specification/resources/vector_databases/parameters.yml +++ /dev/null @@ -1,17 +0,0 @@ -id: - in: path - name: id - description: A unique identifier for a vector database. - required: true - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - schema: - type: string - -backup_id: - in: path - name: backup_id - description: A unique identifier for a vector database backup. - required: true - example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - schema: - type: string diff --git a/specification/resources/vector_databases/responses/vector_database.yml b/specification/resources/vector_databases/responses/vector_database.yml deleted file mode 100644 index cc83fd532..000000000 --- a/specification/resources/vector_databases/responses/vector_database.yml +++ /dev/null @@ -1,38 +0,0 @@ -description: A JSON object with a key of `vector_db`. - -headers: - ratelimit-limit: - $ref: '../../../shared/headers.yml#/ratelimit-limit' - ratelimit-remaining: - $ref: '../../../shared/headers.yml#/ratelimit-remaining' - ratelimit-reset: - $ref: '../../../shared/headers.yml#/ratelimit-reset' - -content: - application/json: - schema: - type: object - properties: - vector_db: - $ref: '../models/vector_database.yml' - required: - - vector_db - example: - vector_db: - id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - name: my-vector-db - region: nyc3 - owner_uuid: 8b3b4c5d-6e7f-8901-a234-567890bcdef0 - status: active - config: - default_quantization: rq - enable_auto_schema: true - weaviate_version: '1.24.0' - created_at: '2024-01-11T18:37:36Z' - updated_at: '2024-01-11T18:37:36Z' - endpoints: - http: https://my-db-abc123.vectordb.digitalocean.com - grpc: my-db-abc123.vectordb.digitalocean.com:443 - size: medium - tags: - - production diff --git a/specification/resources/vector_databases/responses/vector_database_backups.yml b/specification/resources/vector_databases/responses/vector_database_backups.yml deleted file mode 100644 index 333ebeb6e..000000000 --- a/specification/resources/vector_databases/responses/vector_database_backups.yml +++ /dev/null @@ -1,28 +0,0 @@ -description: A JSON object with a key of `backups`. - -headers: - ratelimit-limit: - $ref: '../../../shared/headers.yml#/ratelimit-limit' - ratelimit-remaining: - $ref: '../../../shared/headers.yml#/ratelimit-remaining' - ratelimit-reset: - $ref: '../../../shared/headers.yml#/ratelimit-reset' - -content: - application/json: - schema: - type: object - properties: - backups: - type: array - items: - $ref: '../models/vector_database_backup.yml' - description: List of available backups. Only backups with status SUCCESS are returned. - required: - - backups - example: - backups: - - backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - status: SUCCESS - started_at: '2024-01-01T12:00:00Z' - completed_at: '2024-01-01T12:05:00Z' diff --git a/specification/resources/vector_databases/responses/vector_database_credentials.yml b/specification/resources/vector_databases/responses/vector_database_credentials.yml deleted file mode 100644 index dd1924b2a..000000000 --- a/specification/resources/vector_databases/responses/vector_database_credentials.yml +++ /dev/null @@ -1,17 +0,0 @@ -description: A JSON object containing admin credentials for the vector database. - -headers: - ratelimit-limit: - $ref: '../../../shared/headers.yml#/ratelimit-limit' - ratelimit-remaining: - $ref: '../../../shared/headers.yml#/ratelimit-remaining' - ratelimit-reset: - $ref: '../../../shared/headers.yml#/ratelimit-reset' - -content: - application/json: - schema: - $ref: '../models/vector_database_credentials.yml' - example: - user_id: admin-user-abc123 - api_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... diff --git a/specification/resources/vector_databases/responses/vector_database_restore.yml b/specification/resources/vector_databases/responses/vector_database_restore.yml deleted file mode 100644 index 1bb23f7c0..000000000 --- a/specification/resources/vector_databases/responses/vector_database_restore.yml +++ /dev/null @@ -1,29 +0,0 @@ -description: A JSON object with the initial status of a restore operation. - -headers: - ratelimit-limit: - $ref: '../../../shared/headers.yml#/ratelimit-limit' - ratelimit-remaining: - $ref: '../../../shared/headers.yml#/ratelimit-remaining' - ratelimit-reset: - $ref: '../../../shared/headers.yml#/ratelimit-reset' - -content: - application/json: - schema: - type: object - properties: - backup_id: - type: string - example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - description: The backup ID being restored. - status: - type: string - example: STARTED - description: Initial status of the restore operation (e.g., "STARTED"). - required: - - backup_id - - status - example: - backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - status: STARTED diff --git a/specification/resources/vector_databases/responses/vector_database_restore_status.yml b/specification/resources/vector_databases/responses/vector_database_restore_status.yml deleted file mode 100644 index ce81441ba..000000000 --- a/specification/resources/vector_databases/responses/vector_database_restore_status.yml +++ /dev/null @@ -1,18 +0,0 @@ -description: A JSON object with the current status of a restore operation. - -headers: - ratelimit-limit: - $ref: '../../../shared/headers.yml#/ratelimit-limit' - ratelimit-remaining: - $ref: '../../../shared/headers.yml#/ratelimit-remaining' - ratelimit-reset: - $ref: '../../../shared/headers.yml#/ratelimit-reset' - -content: - application/json: - schema: - $ref: '../models/vector_database_restore_status.yml' - example: - backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - status: TRANSFERRING - error: '' diff --git a/specification/resources/vector_databases/responses/vector_databases.yml b/specification/resources/vector_databases/responses/vector_databases.yml deleted file mode 100644 index 24ba61dd4..000000000 --- a/specification/resources/vector_databases/responses/vector_databases.yml +++ /dev/null @@ -1,46 +0,0 @@ -description: A JSON object with a key of `vector_dbs`. - -headers: - ratelimit-limit: - $ref: '../../../shared/headers.yml#/ratelimit-limit' - ratelimit-remaining: - $ref: '../../../shared/headers.yml#/ratelimit-remaining' - ratelimit-reset: - $ref: '../../../shared/headers.yml#/ratelimit-reset' - -content: - application/json: - schema: - type: object - properties: - vector_dbs: - type: array - items: - $ref: '../models/vector_database.yml' - total: - type: integer - example: 1 - description: Total number of vector databases. - required: - - vector_dbs - - total - example: - vector_dbs: - - id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - name: my-vector-db - region: nyc3 - owner_uuid: 8b3b4c5d-6e7f-8901-a234-567890bcdef0 - status: active - config: - default_quantization: rq - enable_auto_schema: true - weaviate_version: '1.24.0' - created_at: '2024-01-11T18:37:36Z' - updated_at: '2024-01-11T18:37:36Z' - endpoints: - http: https://my-db-abc123.vectordb.digitalocean.com - grpc: my-db-abc123.vectordb.digitalocean.com:443 - size: medium - tags: - - production - total: 1 diff --git a/specification/resources/vector_databases/vector_databases_create.yml b/specification/resources/vector_databases/vector_databases_create.yml index 7dcea3ecb..700ad0000 100644 --- a/specification/resources/vector_databases/vector_databases_create.yml +++ b/specification/resources/vector_databases/vector_databases_create.yml @@ -1,89 +1,43 @@ +description: To create a vector database, send a POST request to `/v2/vector-databases`. + The response body contains a JSON object with a `vector_db` key holding the newly + created database. Its initial `status` is `creating` and changes to `active` once + the database is ready to receive traffic. The embedded `endpoints` object contains + the connection information needed to access the database. operationId: vectorDatabases_create - -summary: Create a New Vector Database - -description: >- - To create a vector database, send a POST request to `/v2/vector-databases`. - - - The create response returns a JSON object with a key called `vector_db`. The value - of this is an object that contains the standard attributes associated with a vector - database. The initial value of the vector database's `status` attribute is - `creating`. When the database is ready to receive traffic, this changes to - `active`. - - - The embedded `endpoints` object contains the connection information needed to access - the vector database. - -tags: - - Vector Databases - requestBody: - required: true content: application/json: schema: - type: object - required: - - name - - region - - size - properties: - name: - type: string - example: my-vector-db - description: Required. Human-readable name for the database. - region: - type: string - example: nyc3 - description: Required. Region slug where the database will be provisioned. - size: - type: string - enum: - - small - - medium - - large - example: medium - description: 'Required. Resource tier: small, medium, or large.' - tags: - type: array - items: - type: string - example: - - production - description: A set of arbitrary tags to organize your vector database. - examples: - Create a New Vector Database: - value: - name: my-vector-db - region: nyc3 - size: medium - tags: - - production - + $ref: ./definitions.yml#/vectordbCreateVectorDBRequest responses: - '201': - $ref: 'responses/vector_database.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "201": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbCreateVectorDBResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_create.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:create' +- bearer_auth: + - database:create +summary: Create a New Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_create.yml diff --git a/specification/resources/vector_databases/vector_databases_delete.yml b/specification/resources/vector_databases/vector_databases_delete.yml index 923c4904c..a16e195b5 100644 --- a/specification/resources/vector_databases/vector_databases_delete.yml +++ b/specification/resources/vector_databases/vector_databases_delete.yml @@ -1,43 +1,40 @@ +description: To delete a vector database, send a DELETE request to `/v2/vector-databases/{id}`. + Deleting a vector database is irreversible and destroys the underlying instance + along with its data. operationId: vectorDatabases_delete - -summary: Destroy a Vector Database - -description: >- - To destroy a specific vector database, send a DELETE request to - `/v2/vector-databases/$VECTOR_DATABASE_ID`. - - - A status of 204 will be given. This indicates that the request was processed - successfully, but that no response body is needed. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - +- description: ID of the vector database. + example: '"example string"' + in: path + name: id + required: true + schema: + type: string responses: - '204': - $ref: '../../shared/responses/no_content.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "204": + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_delete.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:delete' +- bearer_auth: + - database:delete +summary: Delete a Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_delete.yml diff --git a/specification/resources/vector_databases/vector_databases_get.yml b/specification/resources/vector_databases/vector_databases_get.yml index c2be7d8f9..3e67f6842 100644 --- a/specification/resources/vector_databases/vector_databases_get.yml +++ b/specification/resources/vector_databases/vector_databases_get.yml @@ -1,47 +1,45 @@ +description: To show information about an existing vector database, send a GET request + to `/v2/vector-databases/{id}`. The response body contains a JSON object with a + `vector_db` key holding the standard vector database attributes, including an embedded + `endpoints` object with the connection information needed to access the database. operationId: vectorDatabases_get - -summary: Retrieve an Existing Vector Database - -description: >- - To show information about an existing vector database, send a GET request to - `/v2/vector-databases/$VECTOR_DATABASE_ID`. - - - The response will be a JSON object with a `vector_db` key. This will be set to an - object containing the standard vector database attributes. - - - The embedded `endpoints` object will contain the connection information needed to - access the vector database. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - +- description: ID of the vector database. + example: '"example string"' + in: path + name: id + required: true + schema: + type: string responses: - '200': - $ref: 'responses/vector_database.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbGetVectorDBResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_get.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:read' +- bearer_auth: + - database:read +summary: Retrieve an Existing Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_get.yml diff --git a/specification/resources/vector_databases/vector_databases_get_credentials.yml b/specification/resources/vector_databases/vector_databases_get_credentials.yml index 87b6e2aca..8af61b51c 100644 --- a/specification/resources/vector_databases/vector_databases_get_credentials.yml +++ b/specification/resources/vector_databases/vector_databases_get_credentials.yml @@ -1,43 +1,44 @@ +description: To retrieve the admin credentials for a vector database, send a GET request + to `/v2/vector-databases/{id}/credentials`. The response body contains the `user_id` + and `api_token` for the admin user provisioned on the cluster. operationId: vectorDatabases_get_credentials - -summary: Retrieve Admin Credentials for a Vector Database - -description: >- - To retrieve the admin credentials for a vector database, send a GET request to - `/v2/vector-databases/$VECTOR_DATABASE_ID/credentials`. - - - The response will be a JSON object containing the `user_id` and `api_token` for the - Weaviate admin user provisioned on the cluster. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - +- description: ID of the vector database. + example: '"example string"' + in: path + name: id + required: true + schema: + type: string responses: - '200': - $ref: 'responses/vector_database_credentials.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbGetVectorDBAdminCredentialsResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_get_credentials.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:read' +- bearer_auth: + - database:view_credentials +summary: Retrieve Admin Credentials for a Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_get_credentials.yml diff --git a/specification/resources/vector_databases/vector_databases_get_restore_status.yml b/specification/resources/vector_databases/vector_databases_get_restore_status.yml index b3bc04a70..98bf777a8 100644 --- a/specification/resources/vector_databases/vector_databases_get_restore_status.yml +++ b/specification/resources/vector_databases/vector_databases_get_restore_status.yml @@ -1,44 +1,50 @@ +description: To check the status of a restore operation, send a GET request to `/v2/vector-databases/{id}/backups/{backup_id}/restore`. + The response body contains the current status of the restore. operationId: vectorDatabases_get_restore_status - -summary: Get Restore Status for a Vector Database Backup - -description: >- - To get the current status of a restore operation, send a GET request to - `/v2/vector-databases/$VECTOR_DATABASE_ID/backups/$BACKUP_ID/restore`. - - - The response will be a JSON object with the `backup_id`, current `status`, and an - `error` message if the restore failed. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - - $ref: 'parameters.yml#/backup_id' - +- description: Required. ID of the vector database. + example: '"example string"' + in: path + name: id + required: true + schema: + type: string +- description: Required. ID of the backup being restored. + example: '"example string"' + in: path + name: backup_id + required: true + schema: + type: string responses: - '200': - $ref: 'responses/vector_database_restore_status.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbGetRestoreStatusResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_get_restore_status.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:read' +- bearer_auth: + - database:read +summary: Retrieve the Status of a Restore +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_get_restore_status.yml diff --git a/specification/resources/vector_databases/vector_databases_list.yml b/specification/resources/vector_databases/vector_databases_list.yml index 012b96140..f0e8be305 100644 --- a/specification/resources/vector_databases/vector_databases_list.yml +++ b/specification/resources/vector_databases/vector_databases_list.yml @@ -1,46 +1,48 @@ +description: To list all of the vector databases on your account, send a GET request + to `/v2/vector-databases`. Use the `page` and `per_page` query parameters to paginate + the results. The response body contains a `vector_dbs` array of vector database + objects and a `total` field with the overall count. operationId: vectorDatabases_list - -summary: List All Vector Databases - -description: >- - To list all of the vector databases available on your account, send a GET request to - `/v2/vector-databases`. Use the `page` and `per_page` query parameters to paginate - through the results. - - - The result will be a JSON object with a `vector_dbs` key set to an array of vector - database objects, each of which will contain the standard vector database attributes, - and a `total` key with the total number of vector databases. - -tags: - - Vector Databases - parameters: - - $ref: '../../shared/parameters.yml#/page' - - $ref: '../../shared/parameters.yml#/per_page' - +- example: 1 + in: query + name: page + schema: + type: integer +- example: 1 + in: query + name: per_page + schema: + type: integer responses: - '200': - $ref: 'responses/vector_databases.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbListVectorDBsResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_list.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:read' +- bearer_auth: + - database:read +summary: List All Vector Databases +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_list.yml diff --git a/specification/resources/vector_databases/vector_databases_list_backups.yml b/specification/resources/vector_databases/vector_databases_list_backups.yml index 38c110ee7..d94734e31 100644 --- a/specification/resources/vector_databases/vector_databases_list_backups.yml +++ b/specification/resources/vector_databases/vector_databases_list_backups.yml @@ -1,46 +1,44 @@ +description: To list the available backups for a vector database, send a GET request + to `/v2/vector-databases/{id}/backups`. Only backups with a status of `SUCCESS` + are returned. operationId: vectorDatabases_list_backups - -summary: List Backups for a Vector Database - -description: >- - To list all of the available backups of a vector database, send a GET request to - `/v2/vector-databases/$VECTOR_DATABASE_ID/backups`. - - - Only backups with status SUCCESS are returned. - - - The result will be a JSON object with a `backups` key set to an array of backup - objects, each of which will contain the backup ID, status, and timestamps. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - +- description: Required. ID of the vector database. + example: '"example string"' + in: path + name: id + required: true + schema: + type: string responses: - '200': - $ref: 'responses/vector_database_backups.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbListBackupsResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_list_backups.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:read' +- bearer_auth: + - database:read +summary: List Backups for a Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_list_backups.yml diff --git a/specification/resources/vector_databases/vector_databases_resize.yml b/specification/resources/vector_databases/vector_databases_resize.yml index 029aa7887..e4169ef37 100644 --- a/specification/resources/vector_databases/vector_databases_resize.yml +++ b/specification/resources/vector_databases/vector_databases_resize.yml @@ -1,68 +1,49 @@ +description: To resize a vector database, send a POST request to `/v2/vector-databases/{id}/resize`. + This changes the database's resource tier. The response body contains a JSON object + with the updated vector database. operationId: vectorDatabases_post_resize - -summary: Resize a Vector Database - -description: >- - To resize a vector database, send a POST request to - `/v2/vector-databases/$VECTOR_DATABASE_ID/resize`. The body of the request must - specify the target `size`. - - - The response will be a JSON object with a `vector_db` key set to the updated vector - database object. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - -requestBody: +- description: Required. ID of the vector database to resize. + example: '"example string"' + in: path + name: id required: true + schema: + type: string +requestBody: content: application/json: schema: - type: object - required: - - size - properties: - id: - type: string - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: ID of the vector database to resize. - size: - type: string - enum: - - small - - medium - - large - example: large - description: 'Required. Target resource tier: small, medium, or large.' - example: - size: large - + $ref: ./definitions.yml#/vectordbResizeVectorDBRequest responses: - '200': - $ref: 'responses/vector_database.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbResizeVectorDBResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_resize.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:update' +- bearer_auth: + - database:update +summary: Resize a Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_resize.yml diff --git a/specification/resources/vector_databases/vector_databases_restore_backup.yml b/specification/resources/vector_databases/vector_databases_restore_backup.yml index a929acdca..53ff148a3 100644 --- a/specification/resources/vector_databases/vector_databases_restore_backup.yml +++ b/specification/resources/vector_databases/vector_databases_restore_backup.yml @@ -1,67 +1,56 @@ +description: To restore a vector database from a backup, send a POST request to `/v2/vector-databases/{id}/backups/{backup_id}/restore`. + The restore runs asynchronously; use the restore-status endpoint to monitor its + progress. operationId: vectorDatabases_post_restore_backup - -summary: Restore a Vector Database from a Backup - -description: >- - To restore a vector database from a backup, send a POST request to - `/v2/vector-databases/$VECTOR_DATABASE_ID/backups/$BACKUP_ID/restore`. - - - The restore is performed asynchronously; use the Get Restore Status endpoint to - monitor progress. - - - The response will be a JSON object with the `backup_id` and initial `status` of the - restore operation. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - - $ref: 'parameters.yml#/backup_id' - -requestBody: +- description: Required. ID of the vector database. + example: '"example string"' + in: path + name: id required: true + schema: + type: string +- description: Required. ID of the backup to restore from. + example: '"example string"' + in: path + name: backup_id + required: true + schema: + type: string +requestBody: content: application/json: schema: - type: object - properties: - id: - type: string - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: Required. ID of the vector database. - backup_id: - type: string - example: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - description: Required. ID of the backup to restore from. - example: - id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - backup_id: vectordb-9cc10173-e9ea-4176-9dbc-a4cee4c4ff30-20240101-120000 - + $ref: ./definitions.yml#/vectordbRestoreBackupRequest responses: - '200': - $ref: 'responses/vector_database_restore.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbRestoreBackupResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_restore_backup.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:update' +- bearer_auth: + - database:update +summary: Restore a Vector Database from a Backup +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_restore_backup.yml diff --git a/specification/resources/vector_databases/vector_databases_update.yml b/specification/resources/vector_databases/vector_databases_update.yml index 3922a8b58..ac5341b77 100644 --- a/specification/resources/vector_databases/vector_databases_update.yml +++ b/specification/resources/vector_databases/vector_databases_update.yml @@ -1,63 +1,49 @@ +description: To update an existing vector database, send a PUT request to `/v2/vector-databases/{id}`. + The response body contains a JSON object with a `vector_db` key holding the updated + vector database. operationId: vectorDatabases_update - -summary: Update a Vector Database - -description: >- - To update the configuration of an existing vector database, send a PUT request to - `/v2/vector-databases/$VECTOR_DATABASE_ID`. - - - The response will be a JSON object with a `vector_db` key set to the updated vector - database object. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - -requestBody: +- description: ID of the vector database. + example: '"example string"' + in: path + name: id required: true + schema: + type: string +requestBody: content: application/json: schema: - type: object - properties: - id: - type: string - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: ID of the vector database to update. - config: - $ref: 'models/vector_database_config.yml' - example: - id: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - config: - default_quantization: rq - enable_auto_schema: true - weaviate_version: '1.24.0' - + $ref: ./definitions.yml#/vectordbUpdateVectorDBRequest responses: - '200': - $ref: 'responses/vector_database.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbUpdateVectorDBResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_update.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:update' +- bearer_auth: + - database:update +summary: Update a Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_update.yml diff --git a/specification/resources/vector_databases/vector_databases_update_tags.yml b/specification/resources/vector_databases/vector_databases_update_tags.yml index 6ff7e8fc3..e801e648b 100644 --- a/specification/resources/vector_databases/vector_databases_update_tags.yml +++ b/specification/resources/vector_databases/vector_databases_update_tags.yml @@ -1,70 +1,48 @@ +description: To update the tags on a vector database, send a PUT request to `/v2/vector-databases/{id}/tags`. + The supplied set of tags replaces the database's existing tags. operationId: vectorDatabases_update_tags - -summary: Update Tags on a Vector Database - -description: >- - To update the tags on an existing vector database, send a PUT request to - `/v2/vector-databases/$VECTOR_DATABASE_ID/tags`. The tags in the request body - replace all existing tags on the vector database. - - - The response will be a JSON object with a `vector_db` key set to the updated vector - database object. - -tags: - - Vector Databases - parameters: - - $ref: 'parameters.yml#/id' - -requestBody: +- description: Required. ID of the vector database to update tags for. + example: '"example string"' + in: path + name: id required: true + schema: + type: string +requestBody: content: application/json: schema: - type: object - required: - - tags - properties: - id: - type: string - example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: ID of the vector database to update tags for. - tags: - type: array - items: - type: string - example: - - production - - staging - description: Tags to set on the vector database. Replaces all existing tags. - example: - tags: - - production - - staging - + $ref: ./definitions.yml#/vectordbUpdateVectorDBTagsRequest responses: - '200': - $ref: 'responses/vector_database.yml' - - '401': - $ref: '../../shared/responses/unauthorized.yml' - - '404': - $ref: '../../shared/responses/not_found.yml' - - '429': - $ref: '../../shared/responses/too_many_requests.yml' - - '500': - $ref: '../../shared/responses/server_error.yml' - + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/vectordbUpdateVectorDBTagsResponse + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml default: - $ref: '../../shared/responses/unexpected_error.yml' - -x-codeSamples: - - $ref: 'examples/curl/vector_databases_update_tags.yml' - + $ref: ../../shared/responses/unexpected_error.yml security: - - bearer_auth: - - 'database:update' +- bearer_auth: + - database:update +summary: Update Tags on a Vector Database +tags: +- Vector Databases +x-codeSamples: +- $ref: examples/curl/vector_databases_update_tags.yml From d336bcc05aa4ef4bea9701c8fe50a3f5be6d21c9 Mon Sep 17 00:00:00 2001 From: Nilay Bhoot Date: Wed, 17 Jun 2026 11:12:33 -0700 Subject: [PATCH 3/4] Sync regenerated create file from proto change; use tor1 in create curl example --- .../vector_databases/examples/curl/vector_databases_create.yml | 2 +- .../resources/vector_databases/vector_databases_create.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_create.yml b/specification/resources/vector_databases/examples/curl/vector_databases_create.yml index 9f59e73b7..afc1ce3a6 100644 --- a/specification/resources/vector_databases/examples/curl/vector_databases_create.yml +++ b/specification/resources/vector_databases/examples/curl/vector_databases_create.yml @@ -3,5 +3,5 @@ source: |- curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "my-vector-db", "region": "nyc3", "size": "medium", "tags": ["production"]}' \ + -d '{"name": "my-vector-db", "region": "tor1", "size": "medium", "tags": ["production"]}' \ "https://api.digitalocean.com/v2/vector-databases" diff --git a/specification/resources/vector_databases/vector_databases_create.yml b/specification/resources/vector_databases/vector_databases_create.yml index 700ad0000..6acdf87b8 100644 --- a/specification/resources/vector_databases/vector_databases_create.yml +++ b/specification/resources/vector_databases/vector_databases_create.yml @@ -1,8 +1,7 @@ description: To create a vector database, send a POST request to `/v2/vector-databases`. The response body contains a JSON object with a `vector_db` key holding the newly created database. Its initial `status` is `creating` and changes to `active` once - the database is ready to receive traffic. The embedded `endpoints` object contains - the connection information needed to access the database. + the database is ready to receive traffic. operationId: vectorDatabases_create requestBody: content: From aba55c96705db32ec1c1d73b531e955928698ec8 Mon Sep 17 00:00:00 2001 From: Nilay Bhoot Date: Wed, 17 Jun 2026 15:28:48 -0700 Subject: [PATCH 4/4] Fix curl examples: add project_id to create, pagination to list, default weaviate_version --- .../vector_databases/examples/curl/vector_databases_create.yml | 2 +- .../vector_databases/examples/curl/vector_databases_list.yml | 2 +- .../vector_databases/examples/curl/vector_databases_update.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_create.yml b/specification/resources/vector_databases/examples/curl/vector_databases_create.yml index afc1ce3a6..678633c8c 100644 --- a/specification/resources/vector_databases/examples/curl/vector_databases_create.yml +++ b/specification/resources/vector_databases/examples/curl/vector_databases_create.yml @@ -3,5 +3,5 @@ source: |- curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "my-vector-db", "region": "tor1", "size": "medium", "tags": ["production"]}' \ + -d '{"name": "my-vector-db", "region": "tor1", "size": "medium", "tags": ["production"], "project_id": "84e1e297-0000-0000-0000-1067cf2206e9"}' \ "https://api.digitalocean.com/v2/vector-databases" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_list.yml b/specification/resources/vector_databases/examples/curl/vector_databases_list.yml index 33daa8005..4bd23bdc6 100644 --- a/specification/resources/vector_databases/examples/curl/vector_databases_list.yml +++ b/specification/resources/vector_databases/examples/curl/vector_databases_list.yml @@ -3,4 +3,4 @@ source: |- curl -X GET \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - "https://api.digitalocean.com/v2/vector-databases" + "https://api.digitalocean.com/v2/vector-databases?page=1&per_page=20" diff --git a/specification/resources/vector_databases/examples/curl/vector_databases_update.yml b/specification/resources/vector_databases/examples/curl/vector_databases_update.yml index b620fecea..c088ea045 100644 --- a/specification/resources/vector_databases/examples/curl/vector_databases_update.yml +++ b/specification/resources/vector_databases/examples/curl/vector_databases_update.yml @@ -3,5 +3,5 @@ source: |- curl -X PUT \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "config": {"default_quantization": "rq", "enable_auto_schema": true, "weaviate_version": "1.24.0"}}' \ + -d '{"id": "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "config": {"default_quantization": "rq", "enable_auto_schema": true, "weaviate_version": ""}}' \ "https://api.digitalocean.com/v2/vector-databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30"