YugabyteDB Clusters API

Create, list, retrieve, update, pause, resume, and delete YugabyteDB clusters within an account and project. Supports both single-region and multi-region cluster configurations.

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-clusters-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: YugabyteDB Aeon REST Access Keys Clusters 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: Clusters
  description: Create, list, retrieve, update, pause, resume, and delete YugabyteDB clusters within an account and project. Supports both single-region and multi-region cluster configurations.
paths:
  /accounts/{accountId}/projects/{projectId}/clusters:
    get:
      operationId: listClusters
      summary: YugabyteDB Aeon List Clusters
      description: Returns all clusters within the specified account and project. Each cluster entry includes configuration, state, cloud provider, region placement, and endpoint information.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of clusters returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Cluster'
              examples:
                ListClusters200Example:
                  summary: Default listClusters 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - 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
                        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'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createCluster
      summary: YugabyteDB Aeon Create Cluster
      description: Creates a new YugabyteDB Aeon cluster within the specified account and project. The request body defines the cluster name, cloud provider, region, tier, node configuration, and fault tolerance level.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterSpec'
            examples:
              CreateClusterRequestExample:
                summary: Default createCluster request
                x-microcks-default: true
                value:
                  name: example-name
                  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
      responses:
        '200':
          description: Cluster creation initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
              examples:
                CreateCluster200Example:
                  summary: Default createCluster 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'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /accounts/{accountId}/projects/{projectId}/clusters/{clusterId}:
    get:
      operationId: getCluster
      summary: YugabyteDB Aeon Get Cluster
      description: Returns detailed information about a specific cluster, including its current state, configuration, cloud provider, region, node count, and connection endpoints.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      responses:
        '200':
          description: Cluster details returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
              examples:
                GetCluster200Example:
                  summary: Default getCluster 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'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateCluster
      summary: YugabyteDB Aeon Update Cluster
      description: Updates the configuration of an existing cluster, such as scaling node count, changing disk size, or modifying fault tolerance settings.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterSpec'
            examples:
              UpdateClusterRequestExample:
                summary: Default updateCluster request
                x-microcks-default: true
                value:
                  name: example-name
                  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
      responses:
        '200':
          description: Cluster update initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
              examples:
                UpdateCluster200Example:
                  summary: Default updateCluster 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
    delete:
      operationId: deleteCluster
      summary: YugabyteDB Aeon Delete Cluster
      description: Permanently deletes the specified cluster and all its data. This operation is irreversible. All backups associated with the cluster are also deleted.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      responses:
        '200':
          description: Cluster deletion initiated successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /accounts/{accountId}/projects/{projectId}/clusters/{clusterId}/pause:
    post:
      operationId: pauseCluster
      summary: YugabyteDB Aeon Pause Cluster
      description: Pauses a running cluster to suspend compute billing while retaining all data and configuration. The cluster can be resumed at any time. Only clusters in the ACTIVE state can be paused.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      responses:
        '200':
          description: Cluster pause initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
              examples:
                PauseCluster200Example:
                  summary: Default pauseCluster 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
  /accounts/{accountId}/projects/{projectId}/clusters/{clusterId}/resume:
    post:
      operationId: resumeCluster
      summary: YugabyteDB Aeon Resume Cluster
      description: Resumes a previously paused cluster, restoring it to the ACTIVE state and resuming compute billing. The cluster restores all data and configuration from before the pause.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      responses:
        '200':
          description: Cluster resume initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
              examples:
                ResumeCluster200Example:
                  summary: Default resumeCluster 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'
    ClusterSpec:
      type: object
      description: Specification used to create or update a YugabyteDB Aeon cluster.
      required:
      - name
      - cloud_info
      - cluster_info
      properties:
        name:
          type: string
          description: Display name for the cluster.
          maxLength: 63
          example: example-name
        cloud_info:
          $ref: '#/components/schemas/CloudInfo'
        cluster_info:
          $ref: '#/components/schemas/ClusterInfo'
  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
  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/