YugabyteDB Restores API

Restore a cluster from a previously created backup snapshot, enabling point-in-time recovery of database state.

Documentation

Specifications

Other Resources

🔗
CLI
https://github.com/yugabyte/ybm-cli
🔗
Integrations
https://github.com/yugabyte/terraform-provider-ybm
🔗
TermsOfService
https://www.yugabyte.com/yugabytedb-managed-service-terms/
🔗
SDKs
https://github.com/yugabyte/platform-go-client
🔗
Integrations
https://github.com/yugabyte/terraform-provider-yba
🔗
Integrations
https://github.com/yugabyte/yugabyte-k8s-operator
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybuniverse.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-backup.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-backup-schedule.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-restore-job.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-storage-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-dr-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-pitr-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-release.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-support-bundle.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybcertificate.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybprovider.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybplatform.yaml

OpenAPI Specification

yugabytedb-restores-api-openapi.yml Raw ↑
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/