YugabyteDB ReadReplicas API

Manage read replicas for a cluster to serve low-latency read requests from remote regions without affecting the primary cluster workload.

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-readreplicas-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: YugabyteDB Aeon REST Access Keys ReadReplicas 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: ReadReplicas
  description: Manage read replicas for a cluster to serve low-latency read requests from remote regions without affecting the primary cluster workload.
paths:
  /accounts/{accountId}/projects/{projectId}/clusters/{clusterId}/read-replicas:
    get:
      operationId: listReadReplicas
      summary: YugabyteDB Aeon List Read Replicas
      description: Returns all read replicas configured for the specified cluster. Read replicas allow routing read traffic to geographically distributed nodes to reduce latency for remote clients.
      tags:
      - ReadReplicas
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      responses:
        '200':
          description: List of read replicas returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReadReplica'
              examples:
                ListReadReplicas200Example:
                  summary: Default listReadReplicas 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
                      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
                      state: ACTIVE
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createReadReplica
      summary: YugabyteDB Aeon Create Read Replica
      description: Adds a read replica to the specified cluster in the configured cloud region. Read replicas serve read-only traffic and are asynchronously replicated from the primary cluster.
      tags:
      - ReadReplicas
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReadReplicaSpec'
            examples:
              CreateReadReplicaRequestExample:
                summary: Default createReadReplica request
                x-microcks-default: true
                value:
                  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: Read replica creation initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadReplica'
              examples:
                CreateReadReplica200Example:
                  summary: Default createReadReplica 200 response
                  x-microcks-default: true
                  value:
                    id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
                    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
                    state: ACTIVE
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteReadReplica
      summary: YugabyteDB Aeon Delete Read Replica
      description: Removes all read replicas from the specified cluster. This operation is irreversible and immediately terminates read replica nodes.
      tags:
      - ReadReplicas
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/clusterId'
      responses:
        '200':
          description: Read replica deletion initiated successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  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
  schemas:
    ReadReplica:
      type: object
      description: A read replica configuration attached to a primary cluster.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the read replica.
          example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        cloud_info:
          $ref: '#/components/schemas/CloudInfo'
        cluster_info:
          $ref: '#/components/schemas/ClusterInfo'
        state:
          type: string
          description: Current operational state of the read replica.
          enum:
          - ACTIVE
          - CREATING
          - DELETING
          - FAILED
          example: ACTIVE
    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
    ReadReplicaSpec:
      type: object
      description: Specification for creating a read replica on a cluster.
      required:
      - cloud_info
      - cluster_info
      properties:
        cloud_info:
          $ref: '#/components/schemas/CloudInfo'
        cluster_info:
          $ref: '#/components/schemas/ClusterInfo'
    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
  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/