openapi: 3.0.3
info:
title: Weaviate REST authz backups API
description: '# Introduction
Weaviate is an open source, AI-native vector database that helps developers create intuitive and reliable AI-powered applications.
### Base Path
The base path for the Weaviate server is structured as `[YOUR-WEAVIATE-HOST]:[PORT]/v1`. As an example, if you wish to access the `schema` endpoint on a local instance, you would navigate to `http://localhost:8080/v1/schema`. Ensure you replace `[YOUR-WEAVIATE-HOST]` and `[PORT]` with your actual server host and port number respectively.
### Questions?
If you have any comments or questions, please feel free to reach out to us at the community forum [https://forum.weaviate.io/](https://forum.weaviate.io/).
### Issues?
If you find a bug or want to file a feature request, please open an issue on our GitHub repository for [Weaviate](https://github.com/weaviate/weaviate).
### Need more documentation?
For a quickstart, code examples, concepts and more, please visit our [documentation page](https://docs.weaviate.io/weaviate).'
version: 1.38.0-dev
servers:
- url: http://localhost:8080
description: Local Weaviate instance
security:
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: backups
paths:
/backups/{backend}:
post:
summary: Weaviate Create A Backup
description: Initiates the creation of a backup for specified collections on a designated backend storage.
Notes:
- Backups are compressed using gzip by default.
- Weaviate remains operational during the backup process.
tags:
- backups
operationId: backups.create
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system where the backup will be stored (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BackupCreateRequest'
responses:
'200':
description: Backup creation process initiated successfully. Check the status endpoint for progress.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupCreateResponse'
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Invalid backup creation request. Check the request body and backend configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred during backup initiation. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
get:
summary: Weaviate List All Created Backups
description: List all created backups IDs, Status
tags:
- backups
operationId: backups.list
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system to list backups from (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
- name: order
in: query
required: false
description: Order of returned list of backups based on creation time. (asc or desc)
schema:
type: string
enum:
- asc
- desc
default: desc
responses:
'200':
description: Successfully retrieved the list of backups in progress.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupListResponse'
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Invalid request to list backups.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred while listing backups. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
/backups/{backend}/{id}:
get:
summary: Weaviate Get Backup Creation Status
description: Checks the status of a specific backup creation process identified by its ID on the specified backend.
Client libraries often provide a 'wait for completion' feature that polls this endpoint automatically. Use this endpoint for manual status checks or if 'wait for completion' is disabled.
tags:
- backups
operationId: backups.create.status
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system where the backup resides (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
- name: id
in: path
required: true
description: The unique identifier of the backup. Must be URL-safe and compatible with filesystem paths (only lowercase, numbers, underscore, minus characters allowed).
schema:
type: string
- name: bucket
in: query
required: false
description: 'Optional: Specifies the bucket, container, or volume name if required by the backend.'
schema:
type: string
- name: path
in: query
required: false
description: 'Optional: Specifies the path within the bucket/container/volume if the backup is not at the root.'
schema:
type: string
responses:
'200':
description: Successfully retrieved the status of the backup creation process.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupCreateStatusResponse'
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Backup not found on the specified backend with the given ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Invalid request to check backup creation status.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred while checking backup status. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
delete:
summary: Weaviate Cancel A Backup
description: Cancels an ongoing backup operation identified by its ID.
tags:
- backups
operationId: backups.cancel
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system where the backup resides (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
- name: id
in: path
required: true
description: The unique identifier of the backup to cancel. Must be URL-safe and compatible with filesystem paths (only lowercase, numbers, underscore, minus characters allowed).
schema:
type: string
- name: bucket
in: query
required: false
description: 'Optional: Specifies the bucket, container, or volume name if required by the backend.'
schema:
type: string
- name: path
in: query
required: false
description: 'Optional: Specifies the path within the bucket/container/volume if the backup is not at the root.'
schema:
type: string
responses:
'204':
description: Backup canceled successfully.
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Invalid backup cancellation request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred during backup cancellation. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
/backups/{backend}/{id}/restore:
post:
summary: Weaviate Restore From A Backup
description: Initiates the restoration of collections from a specified backup located on a designated backend.
Requirements:
- Target cluster must have the same number of nodes as the source cluster where the backup was created.
- Collections included in the restore must not already exist on the target cluster.
- Node names must match between the backup and the target cluster.
tags:
- backups
operationId: backups.restore
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system where the backup resides (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
- name: id
in: path
required: true
description: The unique identifier of the backup to restore from. Must be URL-safe and compatible with filesystem paths (only lowercase, numbers, underscore, minus characters allowed).
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BackupRestoreRequest'
responses:
'200':
description: Backup restoration process initiated successfully. Check the status endpoint for progress.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupRestoreResponse'
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Backup not found on the specified backend with the given ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Invalid backup restoration request. Check requirements and request body.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred during restore initiation. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
get:
summary: Weaviate Get Backup Restoration Status
description: Checks the status of a specific backup restoration process identified by the backup ID on the specified backend.
Client libraries often provide a 'wait for completion' feature that polls this endpoint automatically. Use this endpoint for manual status checks or if 'wait for completion' is disabled.
tags:
- backups
operationId: backups.restore.status
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system where the backup resides (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
- name: id
in: path
required: true
description: The unique identifier of the backup being restored. Must be URL-safe and compatible with filesystem paths (only lowercase, numbers, underscore, minus characters allowed).
schema:
type: string
- name: bucket
in: query
required: false
description: 'Optional: Specifies the bucket, container, or volume name if required by the backend.'
schema:
type: string
- name: path
in: query
required: false
description: 'Optional: Specifies the path within the bucket.'
schema:
type: string
responses:
'200':
description: Successfully retrieved the status of the backup restoration process.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupRestoreStatusResponse'
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Backup not found on the specified backend with the given ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred while checking restore status. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
delete:
summary: Weaviate Cancel A Backup Restoration
description: Cancels an ongoing backup restoration process identified by its ID on the specified backend storage.
tags:
- backups
operationId: backups.restore.cancel
parameters:
- name: backend
in: path
required: true
description: Specifies the backend storage system where the backup resides (e.g., `filesystem`, `gcs`, `s3`, `azure`).
schema:
type: string
- name: id
in: path
required: true
description: The unique identifier of the backup restoration to cancel. Must be URL-safe and compatible with filesystem paths (only lowercase, numbers, underscore, minus characters allowed).
schema:
type: string
- name: bucket
in: query
required: false
description: 'Optional: Specifies the bucket, container, or volume name if required by the backend.'
schema:
type: string
- name: path
in: query
required: false
description: 'Optional: Specifies the path within the bucket/container/volume if the backup is not at the root.'
schema:
type: string
responses:
'204':
description: Backup restoration cancelled successfully.
'401':
description: Unauthorized or invalid credentials.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Invalid backup restoration cancellation request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: An internal server error occurred during backup restoration cancellation. Check the ErrorResponse for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 100
components:
schemas:
BackupRestoreStatusResponse:
description: The definition of a backup restore metadata.
properties:
id:
type: string
description: The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.
backend:
type: string
description: Backup backend name e.g. filesystem, gcs, s3.
path:
type: string
description: Destination path of backup files valid for the selected backup backend, contains bucket and path.
error:
type: string
description: Error message if backup restoration failed.
status:
type: string
description: Phase of backup restoration process.
enum:
- STARTED
- TRANSFERRING
- TRANSFERRED
- FINALIZING
- SUCCESS
- FAILED
- CANCELLING
- CANCELED
default: STARTED
BackupRestoreRequest:
description: Request body for restoring a backup for a set of collections (classes).
properties:
config:
$ref: '#/components/schemas/RestoreConfig'
include:
type: array
description: List of collections (classes) to include in the backup restoration process.
items:
type: string
exclude:
type: array
description: List of collections (classes) to exclude from the backup restoration process.
items:
type: string
node_mapping:
type: object
description: Allows overriding the node names stored in the backup with different ones. Useful when restoring backups to a different environment.
additionalProperties:
type: string
overwriteAlias:
type: boolean
description: Allows ovewriting the collection alias if there is a conflict
BackupCreateStatusResponse:
description: The definition of a backup create metadata
properties:
id:
type: string
description: The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.
backend:
type: string
description: Backup backend name e.g. filesystem, gcs, s3.
path:
type: string
description: Destination path of backup files valid for the selected backend.
error:
type: string
description: error message if creation failed
status:
type: string
description: phase of backup creation process
enum:
- STARTED
- TRANSFERRING
- TRANSFERRED
- FINALIZING
- SUCCESS
- FAILED
- CANCELLING
- CANCELED
default: STARTED
startedAt:
type: string
format: date-time
description: Timestamp when the backup process started
completedAt:
type: string
format: date-time
description: Timestamp when the backup process completed (successfully or with failure)
size:
type: number
format: float64
description: Size of the backup in Gibs
BackupCreateRequest:
description: Request body for creating a backup for a set of collections.
properties:
id:
type: string
description: The ID of the backup (required). Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.
config:
$ref: '#/components/schemas/BackupConfig'
include:
type: array
description: List of collections to include in the backup creation process. If not set, all collections are included. Cannot be used together with `exclude`.
items:
type: string
exclude:
type: array
description: List of collections to exclude from the backup creation process. If not set, all collections are included. Cannot be used together with `include`.
items:
type: string
incremental_base_backup_id:
type: string
description: The ID of an existing backup to use as the base for a file-based incremental backup. If set, only files that have changed since the base backup will be included in the new backup.
default: null
BackupCreateResponse:
description: The definition of a backup create response body
properties:
id:
type: string
description: The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.
classes:
type: array
description: The list of collections (classes) for which the backup creation process was started.
items:
type: string
backend:
type: string
description: Backup backend name e.g. filesystem, gcs, s3.
bucket:
type: string
description: Name of the bucket, container, volume, etc
path:
type: string
description: Path within bucket of backup
error:
type: string
description: error message if creation failed
status:
type: string
description: phase of backup creation process
enum:
- STARTED
- TRANSFERRING
- TRANSFERRED
- FINALIZING
- SUCCESS
- FAILED
- CANCELLING
- CANCELED
default: STARTED
BackupListResponse:
type: array
description: The definition of a backup create response body.
items:
type: object
properties:
id:
type: string
description: The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.
classes:
type: array
description: The list of collections (classes) for which the backup process was started.
items:
type: string
status:
type: string
description: Status of backup process.
enum:
- STARTED
- TRANSFERRING
- TRANSFERRED
- FINALIZING
- SUCCESS
- FAILED
- CANCELLING
- CANCELED
startedAt:
type: string
format: date-time
description: Timestamp when the backup process started
completedAt:
type: string
format: date-time
description: Timestamp when the backup process completed (successfully or with failure)
size:
type: number
format: float64
description: Size of the backup in Gibs
RestoreConfig:
type: object
description: Backup custom configuration
properties:
Endpoint:
type: string
description: name of the endpoint, e.g. s3.amazonaws.com
Bucket:
type: string
description: Name of the bucket, container, volume, etc
Path:
type: string
description: Path within the bucket
CPUPercentage:
type: integer
description: Desired CPU core utilization ranging from 1%-80%
default: 50
minimum: 1
maximum: 80
rolesOptions:
type: string
description: How roles should be restored
enum:
- noRestore
- all
default: noRestore
usersOptions:
type: string
description: How users should be restored
enum:
- noRestore
- all
default: noRestore
BackupRestoreResponse:
description: The definition of a backup restore response body.
properties:
id:
type: string
description: The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.
classes:
type: array
description: The list of collections (classes) for which the backup restoration process was started.
items:
type: string
backend:
type: string
description: Backup backend name e.g. filesystem, gcs, s3.
path:
type: string
description: Destination path of backup files valid for the selected backend.
error:
type: string
description: Error message if backup restoration failed.
status:
type: string
description: Phase of backup restoration process.
enum:
- STARTED
- TRANSFERRING
- TRANSFERRED
- FINALIZING
- SUCCESS
- FAILED
- CANCELLING
- CANCELED
default: STARTED
ErrorResponse:
type: object
description: An error response returned by Weaviate endpoints.
properties:
error:
type: array
items:
type: object
properties:
message:
type: string
BackupConfig:
type: object
description: Backup custom configuration.
properties:
Endpoint:
type: string
description: Name of the endpoint, e.g. s3.amazonaws.com.
Bucket:
type: string
description: Name of the bucket, container, volume, etc.
Path:
type: string
description: Path or key within the bucket.
CPUPercentage:
type: integer
description: Desired CPU core utilization ranging from 1%-80%
default: 50
minimum: 1
maximum: 80
ChunkSize:
type: integer
description: Deprecated, has no effect.
CompressionLevel:
type: string
description: compression level used by compression algorithm
enum:
- DefaultCompression
- BestSpeed
- BestCompression
- ZstdDefaultCompression
- ZstdBestSpeed
- ZstdBestCompression
- NoCompression
default: DefaultCompression
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
description: API key authentication
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OIDC/JWT bearer authentication