openapi: 3.1.0 info: title: YugabyteDB Aeon REST Access Keys Restores API description: The YugabyteDB Aeon REST API provides programmatic access to YugabyteDB's fully managed cloud database service. Developers and operators can use it to deploy and manage database clusters, configure read replicas, schedule and execute on-demand backups and restores, manage IP allow lists, and set up monitoring and alerts. Authentication is performed using API keys passed as bearer tokens in the Authorization header. All paths are scoped to an account and project, which can be obtained from the YugabyteDB Aeon UI profile page. version: v1 contact: name: Yugabyte Support url: https://support.yugabyte.com termsOfService: https://www.yugabyte.com/yugabytedb-managed-service-terms/ x-generated-from: documentation x-source-url: https://api-docs.yugabyte.com/docs/managed-apis/ x-last-validated: '2026-05-03' servers: - url: https://cloud.yugabyte.com/api/public/v1 description: YugabyteDB Aeon Production Server security: - bearerAuth: [] tags: - name: Restores description: Restore a cluster from a previously created backup snapshot, enabling point-in-time recovery of database state. paths: /accounts/{accountId}/projects/{projectId}/clusters/{clusterId}/backups/{backupId}/restore: post: operationId: restoreBackup summary: YugabyteDB Aeon Restore from Backup description: Restores the specified cluster from a previously created backup. The restore operation overwrites the current cluster data with the state captured in the backup snapshot. tags: - Restores parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/clusterId' - $ref: '#/components/parameters/backupId' responses: '200': description: Restore initiated successfully content: application/json: schema: $ref: '#/components/schemas/Cluster' examples: RestoreBackup200Example: summary: Default restoreBackup 200 response x-microcks-default: true value: id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: example-name state: ACTIVE cloud_info: code: AWS region: us-east-1 cluster_info: num_nodes: 10 fault_tolerance: NONE cluster_tier: FREE node_info: num_cores: 10 memory_mb: 100 disk_size_gb: 10 yugabytedb_version: 2.20.0.0 cluster_endpoints: - accessibility_type: PUBLIC host: yugabyte.example.com region: us-east-1 created_at: '2026-05-03T12:00:00Z' updated_at: '2026-05-03T12:00:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ClusterEndpoint: type: object description: A connection endpoint for a YugabyteDB Aeon cluster. properties: accessibility_type: type: string description: Network accessibility type for the endpoint. enum: - PUBLIC - PRIVATE example: PUBLIC host: type: string description: Hostname for connecting to the cluster endpoint. example: yugabyte.example.com region: type: string description: Cloud region this endpoint serves. example: us-east-1 ErrorResponse: type: object description: Standard error response returned by the API on failure. properties: error: type: object properties: code: type: string description: Machine-readable error code. example: OK message: type: string description: Human-readable description of the error. example: Example message status: type: integer description: HTTP status code. example: 100 example: code: OK message: Example message status: 100 ClusterInfo: type: object description: Compute and storage configuration for a cluster. properties: num_nodes: type: integer description: Number of nodes in the cluster. Must be a multiple of the replication factor. minimum: 1 example: 10 fault_tolerance: type: string description: Fault tolerance level determining replication factor and quorum settings. enum: - NONE - NODE - ZONE - REGION example: NONE cluster_tier: type: string description: Cluster tier controlling available features and node sizes. enum: - FREE - DEDICATED example: FREE node_info: $ref: '#/components/schemas/NodeInfo' yugabytedb_version: type: string description: YugabyteDB software version to deploy on the cluster. example: 2.20.0.0 NodeInfo: type: object description: Per-node compute and storage resource allocation. properties: num_cores: type: integer description: Number of vCPU cores per node. example: 10 memory_mb: type: integer description: Memory in megabytes per node. example: 100 disk_size_gb: type: integer description: Storage disk size in gigabytes per node. example: 10 CloudInfo: type: object description: Cloud provider and region configuration for a cluster. properties: code: type: string description: Cloud provider code. enum: - AWS - GCP - AZURE example: AWS region: type: string description: Cloud provider region identifier (e.g., us-east-1 for AWS, us-east1 for GCP, eastus for Azure). example: us-east-1 Cluster: type: object description: A YugabyteDB Aeon managed database cluster. properties: id: type: string format: uuid description: Unique identifier for the cluster. example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: type: string description: Display name of the cluster. example: example-name state: type: string description: Current operational state of the cluster. enum: - ACTIVE - PAUSED - CREATING - DELETING - FAILED - UPDATING example: ACTIVE cloud_info: $ref: '#/components/schemas/CloudInfo' cluster_info: $ref: '#/components/schemas/ClusterInfo' cluster_endpoints: type: array description: Connection endpoints for the cluster. items: $ref: '#/components/schemas/ClusterEndpoint' example: - accessibility_type: PUBLIC host: yugabyte.example.com region: us-east-1 created_at: type: string format: date-time description: Timestamp when the cluster was created. example: '2026-05-03T12:00:00Z' updated_at: type: string format: date-time description: Timestamp when the cluster was last updated. example: '2026-05-03T12:00:00Z' parameters: accountId: name: accountId in: path required: true description: The unique identifier of the YugabyteDB Aeon account. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 clusterId: name: clusterId in: path required: true description: The unique identifier of the cluster. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 projectId: name: projectId in: path required: true description: The unique identifier of the project within the account. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 backupId: name: backupId in: path required: true description: The unique identifier of the backup snapshot. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: NotFoundExample: summary: Default NotFound response x-microcks-default: true value: error: code: OK message: Example message status: 100 BadRequest: description: The request was malformed or contained invalid parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: BadRequestExample: summary: Default BadRequest response x-microcks-default: true value: error: code: OK message: Example message status: 100 Unauthorized: description: The API key is missing, invalid, or expired. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: UnauthorizedExample: summary: Default Unauthorized response x-microcks-default: true value: error: code: OK message: Example message status: 100 securitySchemes: bearerAuth: type: http scheme: bearer description: API key obtained from the YugabyteDB Aeon UI under User Profile > API Keys. Pass the key as a Bearer token in the Authorization header. externalDocs: description: YugabyteDB Aeon REST API Documentation url: https://docs.yugabyte.com/stable/yugabyte-cloud/managed-automation/managed-api/