YugabyteDB Asynchronous Replication API

The Asynchronous Replication API from YugabyteDB — 6 operation(s) for asynchronous replication.

Operations 9

POST /api/v1/customers/{cUUID}/universes/{uniUUID}/need_bootstrap Whether tables need bootstrap before setting up cross cluster replication #
POST /api/v1/customers/{cUUID}/xcluster_configs Create xcluster config #
POST /api/v1/customers/{cUUID}/xcluster_configs/sync Sync xcluster config - deprecated #
DELETE /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID} Delete xcluster config #
GET /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID} Get xcluster config #
POST /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID} Restart xcluster config #
PUT /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID} Edit xcluster config #
POST /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID}/need_bootstrap Whether tables in an xCluster replication config have fallen far behind and need bootstrap #
POST /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID}/sync Sync xcluster config (V2) #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/yugabytedb-asynchronous-replication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

yugabytedb-asynchronous-replication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Yugabytedb Asynchronous Replication API
  version: v1
  contact:
    name: https://docs.yugabyte.com
  license:
    name: Polyform Free Trial License 1.0.0
    url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt
  termsOfService: TODO(chirag)
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  - x-split-from differs across the merged source definitions and was not carried
  description: 'Operations tagged Asynchronous Replication across 4 of this provider''s published API definitions: openapi_2.yaml, platform.swagger.json, yugabytedb-anywhere-v1-backups-restore.yaml, yugabytedb-anywhere-v1-full.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: /
tags:
- name: Asynchronous Replication
paths:
  /api/v1/customers/{cUUID}/universes/{uniUUID}/need_bootstrap:
    post:
      description: 'WARNING: This is a preview API that could change.'
      operationId: needBootstrapTable
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: uniUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: configType
        schema:
          default: 'null'
          type: string
      - in: query
        name: includeDetails
        schema:
          default: false
          type: boolean
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XClusterConfigNeedBootstrapFormData'
        description: XCluster Need Bootstrap Form Data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties:
                  properties: {}
                  type: object
                type: object
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Whether tables need bootstrap before setting up cross cluster replication
      tags:
      - Asynchronous Replication
      x-codegen-request-body-name: xcluster_need_bootstrap_form_data
    servers:
    - url: /
  /api/v1/customers/{cUUID}/xcluster_configs:
    post:
      description: Available since YBA version 2.16.0.0.
      operationId: createXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XClusterConfigCreateFormData'
        description: XCluster Replication Create Form Data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPTask'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Create xcluster config
      tags:
      - Asynchronous Replication
      x-codegen-request-body-name: xcluster_replication_create_form_data
    servers:
    - url: /
  /api/v1/customers/{cUUID}/xcluster_configs/sync:
    post:
      deprecated: true
      description: <b style="color:#ff0000">Deprecated since YBA version 2.23.0.0.</b></p> Sync xcluster config (V2) instead.
      operationId: syncXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: targetUniverseUUID
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPTask'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Sync xcluster config - deprecated
      tags:
      - Asynchronous Replication
    servers:
    - url: /
  /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID}:
    delete:
      description: Available since YBA version 2.16.0.0.
      operationId: deleteXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: xccUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: isForceDelete
        schema:
          default: false
          type: boolean
      - in: query
        name: request
        schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPTask'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Delete xcluster config
      tags:
      - Asynchronous Replication
    get:
      description: Available since YBA version 2.16.0.0.
      operationId: getXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: xccUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: syncWithDB
        schema:
          default: true
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XClusterConfigGetResp'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Get xcluster config
      tags:
      - Asynchronous Replication
    post:
      description: Available since YBA version 2.16.0.0.
      operationId: restartXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: xccUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: isForceDelete
        schema:
          default: false
          type: boolean
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XClusterConfigRestartFormData'
        description: XCluster Replication Restart Form Data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPTask'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Restart xcluster config
      tags:
      - Asynchronous Replication
      x-codegen-request-body-name: xcluster_replication_restart_form_data
    put:
      description: Available since YBA version 2.16.0.0.
      operationId: editXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: xccUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XClusterConfigEditFormData'
        description: XCluster Replication Edit Form Data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPTask'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Edit xcluster config
      tags:
      - Asynchronous Replication
      x-codegen-request-body-name: xcluster_replication_edit_form_data
    servers:
    - url: /
  /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID}/need_bootstrap:
    post:
      description: YbaApi Internal.
      operationId: NeedBootstrapXClusterConfig
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: xccUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XClusterConfigNeedBootstrapFormData'
        description: XCluster Need Bootstrap Form Data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties:
                  properties: {}
                  type: object
                type: object
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Whether tables in an xCluster replication config have fallen far behind and need bootstrap
      tags:
      - Asynchronous Replication
      x-codegen-request-body-name: xcluster_need_bootstrap_form_data
    servers:
    - url: /
  /api/v1/customers/{cUUID}/xcluster_configs/{xccUUID}/sync:
    post:
      description: Available since YBA version 2.23.0.0
      operationId: syncXClusterConfigV2
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: xccUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPTask'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Sync xcluster config (V2)
      tags:
      - Asynchronous Replication
    servers:
    - url: /
components:
  schemas:
    XClusterConfigEditFormData:
      description: xcluster edit form
      example:
        tables: '["000033df000030008000000000004006", "000033df00003000800000000000400b"]'
        dryRun: true
        bootstrapParams:
          tables: '["000033df000030008000000000004006"]'
          allowBootstrap: true
          backupRequestParams:
            storageConfigUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            parallelism: 0
        dbs: '["000033df000030008000000000004006", "000033df00003000800000000000400b"]'
        autoIncludeIndexTables: true
        targetRole: ACTIVE
        name: Repl-config1
        sourceRole: ACTIVE
        status: Running
      properties:
        autoIncludeIndexTables:
          description: Whether or not YBA should also include all index tables from any provided main tables.
          type: boolean
        bootstrapParams:
          $ref: '#/components/schemas/BootstrapParams'
        dbs:
          description: 'WARNING: This is a preview API that could change. Source universe database IDs'
          example: '["000033df000030008000000000004006", "000033df00003000800000000000400b"]'
          items:
            type: string
          type: array
          uniqueItems: true
        dryRun:
          description: Run the pre-checks without actually running the subtasks
          type: boolean
        name:
          description: Name
          example: Repl-config1
          type: string
        sourceRole:
          description: The role that the source universe should have in the xCluster config
          enum:
          - ACTIVE
          - STANDBY
          - UNRECOGNIZED
          type: string
        status:
          description: Status
          enum:
          - Running
          - Paused
          type: string
        tables:
          description: Source universe table IDs
          example: '["000033df000030008000000000004006", "000033df00003000800000000000400b"]'
          items:
            type: string
          type: array
          uniqueItems: true
        targetRole:
          description: The role that the target universe should have in the xCluster config
          enum:
          - ACTIVE
          - STANDBY
          - UNRECOGNIZED
          type: string
      type: object
    XClusterConfigGetResp:
      description: xcluster get response
      example:
        paused: true
        replicationGroupName: replicationGroupName
        targetUniverseState: Unconfigured for DR
        type: Basic
        usedForDr: true
        uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        tableType: UNKNOWN
        tables:
        - tables
        - tables
        lag: '{}'
        modifyTime: 2022-12-12 13:07:18+00:00
        targetActive: true
        imported: true
        namespaceDetails:
        - restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          sourceNamespaceId: sourceNamespaceId
          backupUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          replicationSetupTime: 2022-12-12 13:07:18+00:00
          sourceNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          targetNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: Validated
        - restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          sourceNamespaceId: sourceNamespaceId
          backupUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          replicationSetupTime: 2022-12-12 13:07:18+00:00
          sourceNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          targetNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: Validated
        tableDetails:
        - restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          streamId: a9d2470786694dc4b34e0e58e592da9e
          backupUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          replicationStatusErrors:
          - Unknown error
          - Unknown error
          sourceTableInfo:
            relationType: SYSTEM_TABLE_RELATION
            colocated: true
            walSizeBytes: 3.616076749251911
            indexTableIDs:
            - indexTableIDs
            - indexTableIDs
            pgSchemaName: public
            sizeBytes: 9.301444243932576
            tableName: tableName
            tableSpace: tableSpace
            tableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            mainTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            parentTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            tableType: YQL_TABLE_TYPE
            keySpace: keySpace
            tableID: tableID
            nameSpace: nameSpace
            colocationParentId: colocationParentId
          replicationSetupDone: true
          restoreTime: 2022-12-12 13:07:18+00:00
          bootstrapCreateTime: 2022-12-12 13:07:18+00:00
          indexTable: true
          tableId: 000033df000030008000000000004005
          targetTableInfo:
            relationType: SYSTEM_TABLE_RELATION
            colocated: true
            walSizeBytes: 3.616076749251911
            indexTableIDs:
            - indexTableIDs
            - indexTableIDs
            pgSchemaName: public
            sizeBytes: 9.301444243932576
            tableName: tableName
            tableSpace: tableSpace
            tableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            mainTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            parentTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            tableType: YQL_TABLE_TYPE
            keySpace: keySpace
            tableID: tableID
            nameSpace: nameSpace
            colocationParentId: colocationParentId
          needBootstrap: true
          status: Validated
        - restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          streamId: a9d2470786694dc4b34e0e58e592da9e
          backupUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          replicationStatusErrors:
          - Unknown error
          - Unknown error
          sourceTableInfo:
            relationType: SYSTEM_TABLE_RELATION
            colocated: true
            walSizeBytes: 3.616076749251911
            indexTableIDs:
            - indexTableIDs
            - indexTableIDs
            pgSchemaName: public
            sizeBytes: 9.301444243932576
            tableName: tableName
            tableSpace: tableSpace
            tableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            mainTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            parentTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            tableType: YQL_TABLE_TYPE
            keySpace: keySpace
            tableID: tableID
            nameSpace: nameSpace
            colocationParentId: colocationParentId
          replicationSetupDone: true
          restoreTime: 2022-12-12 13:07:18+00:00
          bootstrapCreateTime: 2022-12-12 13:07:18+00:00
          indexTable: true
          tableId: 000033df000030008000000000004005
          targetTableInfo:
            relationType: SYSTEM_TABLE_RELATION
            colocated: true
            walSizeBytes: 3.616076749251911
            indexTableIDs:
            - indexTableIDs
            - indexTableIDs
            pgSchemaName: public
            sizeBytes: 9.301444243932576
            tableName: tableName
            tableSpace: tableSpace
            tableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            mainTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            parentTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            tableType: YQL_TABLE_TYPE
            keySpace: keySpace
            tableID: tableID
            nameSpace: nameSpace
            colocationParentId: colocationParentId
          needBootstrap: true
          status: Validated
        targetUniverseUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        pitrConfigs:
        - dbName: dbName
          updateTime: 2022-12-12 13:07:18+00:00
          createdForDr: true
          uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          minRecoverTimeInMillis: 1
          scheduleInterval: 5
          tableType: YQL_TABLE_TYPE
          customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          createTime: 2022-12-12 13:07:18+00:00
          intermittentMinRecoverTimeInMillis: 0
          maxRecoverTimeInMillis: 6
          name: name
          disabled: true
          usedForXCluster: true
          state: UNKNOWN
          retentionPeriod: 5
        - dbName: dbName
          updateTime: 2022-12-12 13:07:18+00:00
          createdForDr: true
          uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          minRecoverTimeInMillis: 1
          scheduleInterval: 5
          tableType: YQL_TABLE_TYPE
          customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          createTime: 2022-12-12 13:07:18+00:00
          intermittentMinRecoverTimeInMillis: 0
          maxRecoverTimeInMillis: 6
          name: name
          disabled: true
          usedForXCluster: true
          state: UNKNOWN
          retentionPeriod: 5
        secondary: true
        automaticDdlMode: true
        dbs:
        - dbs
        - dbs
        createTime: 2022-12-12 13:07:18+00:00
        name: name
        sourceUniverseUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        keyspacePending: keyspacePending
        sourceActive: true
        namespaces:
        - restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          sourceNamespaceId: sourceNamespaceId
          backupUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          replicationSetupTime: 2022-12-12 13:07:18+00:00
          sourceNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          targetNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: Validated
        - restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          sourceNamespaceId: sourceNamespaceId
          backupUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          replicationSetupTime: 2022-12-12 13:07:18+00:00
          sourceNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          targetNamespaceInfo:
            tableType: YQL_TABLE_TYPE
            name: name
            namespaceUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: Validated
        sourceUniverseState: Unconfigured for DR
        status: Initialized
      properties:
        automaticDdlMode:
          readOnly: true
          type: boolean
        createTime:
          description: Create time of the xCluster config
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          type: string
        dbs:
          items:
            type: string
          readOnly: true
          type: array
          uniqueItems: true
        imported:
          description: YbaApi Internal. Whether this xCluster replication config was imported
          type: boolean
        keyspacePending:
          description: 'WARNING: This is a preview API that could change. The keyspace name that the xCluster task is working on; used for disaster recovery'
          type: string
        lag:
          description: Lag metric data
          properties: {}
          type: object
        modifyTime:
          description: Last modify time of the xCluster config
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          type: string
        name:
          description: XCluster config name
          type: string
        namespaceDetails:
          description: Namespaces participating in this xCluster config
          items:
            $ref: '#/components/schemas/XClusterNamespaceConfig'
          readOnly: true
          type: array
          uniqueItems: true
        namespaces:
          items:
            $ref: '#/components/schemas/XClusterNamespaceConfig'
          type: array
          uniqueItems: true
        paused:
          description: Whether this xCluster replication config is paused
          type: boolean
        pitrConfigs:
          description: 'WARNING: This is a preview API that could change. The list of PITR configs used for the txn xCluster config'
          items:
            $ref: '#/components/schemas/PitrConfig'
          type: array
        replicationGroupName:
          description: Replication group name in the target universe cluster config
          readOnly: true
          type: string
        secondary:
          description: 'WARNING: This is a preview API that could change. Whether this xCluster config is used as a secondary config for a DR config'
          type: boolean
        sourceActive:
          description: Whether the source is active in txn xCluster
          type: boolean
        sourceUniverseState:
          description: 'WARNING: This is a preview API that could change. The replication status of the source universe; used for disaster recovery'
          enum:
          - Unconfigured for DR
          - Ready to replicate
          - Waiting for DR
          - Replicating data
          - Preparing for switchover
          - Switching to DR replica
          - Universe marked as DR failed
          type: string
        sourceUniverseUUID:
          description: Source Universe UUID
          format: uuid
          type: string
        status:
          description: Status
          enum:
          - Initialized
          - Running
          - Updating
          - DeletedUniverse
          - DeletionFailed
          - Failed
          type: string
        tableDetails:
          description: Tables participating in this xCluster config
          items:
            $ref: '#/components/schemas/XClusterTableConfig'
          type: array
          uniqueItems: true
        tableType:
          description: tableType
          enum:
          - UNKNOWN
          - YSQL
          - YCQL
          type: string
        tables:
          items:
            type: string
          readOnly: true
          type: array
          uniqueItems: true
        targetActive:
          description: Whether the target is active in txn xCluster
          type: boolean
        targetUniverseState:
          description: 'WARNING: This is a preview API that could change. The replication status of the target universe; used for disaster recovery'
          enum:
          - Unconfigured for DR
          - Bootstrapping
          - Receiving data, Ready for reads
          - Switching to DR primary
          - Universe marked as DR failed
          type: string
        targetUniverseUUID:
          description: Target Universe UUID
          format: uuid
          type: string
        type:
          description: Whether the config is basic, txn, or db scoped xCluster
          enum:
          - Basic
          - Txn
          - Db
          type: string
        usedForDr:
          description: 'WARNING: This is a preview API that could change. Whether the xCluster config is used as part of a DR config'
          readOnly: true
          type: boolean
        uuid:
          description: XCluster config UUID
          format: uuid
          type: string
      required:
      - lag
      - namespaces
      type: object
    PitrConfig:
      description: PITR config created on the universe
      example:
        dbName: dbName
        updateTime: 2022-12-12 13:07:18+00:00
        createdForDr: true
        uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        minRecoverTimeInMillis: 1
        scheduleInterval: 5
        tableType: YQL_TABLE_TYPE
        customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        createTime: 2022-12-12 13:07:18+00:00
        intermittentMinRecoverTimeInMillis: 0
        maxRecoverTimeInMillis: 6
        name: name
        disabled: true
        usedForXCluster: true
        state: UNKNOWN
        retentionPeriod: 5
      properties:
        createTime:
          description: Create time of the PITR config
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          readOnly: true
          type: string
        createdForDr:
          description: Created for DR
          readOnly: true
          type: boolean
        customerUUID:
          description: Customer UUID of this config
          format: uuid
          type: string
        dbName:
          description: DB Name
          type: string
        disabled:
          description: Whether the PITR config is disabled
          readOnly: true
          type: boolean
        intermittentMinRecoverTimeInMillis:
          description: Intermittent min recovery time in millis if retention period is increased
          format: int64
          type: integer
        maxRecoverTimeInMillis:
          format: int64
          type: integer
        minRecoverTimeInMillis:
          format: int64
          type: integer
        name:
          description: PITR config name
          type: string
        retentionPeriod:
          description: Retention Period in seconds
          format: int64
          type: integer
        scheduleInterval:
          description: Interval between snasphots in seconds
          format: int64
          type: integer
        state:
          enum:
          - UNKNOWN
          - CREATING
          - COMPLETE
          - DELETING
          - DELETED
          - FAILED
          - CANCELLED
          - RESTORING
          - RESTORED
          type: string
        tableType:
          description: Table Type
          enum:
          - YQL_TABLE_TYPE
          - REDIS_TABLE_TYPE
          - PGSQL_TABLE_TYPE
          - TRANSACTION_STATUS_TABLE_TYPE
          type: string
        updateTime:
          description: Update time of the PITR con
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          type: string
        usedForXCluster:
          readOnly: true
          type: boolean
        uuid:
          description: PITR config UUID
          format: uuid
          type: string
      required:
      - maxRecoverTimeInMillis
      - minRecoverTimeInMillis
      - state
      type: object
    TableInfoResp:
      description: Table information response
      example:
        relationType: SYSTEM_TABLE_RELATION
        colocated: true
        walSizeBytes: 3.616076749251911
        indexTableIDs:
        - indexTableIDs
        - indexTableIDs
        pgSchemaName: public
        sizeBytes: 9.301444243932576
        tableName: tableName
        tableSpace: tableSpace
        tableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        mainTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        parentTableUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        tableType: YQL_TABLE_TYPE
        keySpace: keySpace
        tableID: tableID
        nameSpace: nameSpace
        colocationParentId: colocationParentId
      properties:
        colocated:
          description: Flag, indicating colocated table
          type: boolean
        colocationParentId:
          description: Colocation parent id
          type: string
        indexTableIDs:
          description: Index Table IDs of main table
          items:
            type: string
          type: array
        keySpace:
          description: Keyspace
          type: string
        mainTableUUID:
          description: Main Table UUID of index tables
          format: uuid
          type: string
        nameSpace:
          description: Namespace or Schema
          type: string
        parentTableUUID:
          description: Parent Table UUID
          format: uuid
          type: string
        pgSchemaName:
          description: Postgres schema name of the table
          example: public
          type: string
        relationType:
          description: Relation type
          enum:
          - SYSTEM_TABLE_RELATION
          - USER_TABLE_RELATION
          - INDEX_TABLE_RELATION
          - MATVIEW_TABLE_RELATION
          - COLOCATED_PARENT_TABLE_RELATION
          type: string
        sizeBytes:
          description: SST size in bytes
          format: double
          readOnly: true
          type: number
        tableID:
          description: Table ID
          readOnly: true
          type: string
        tableName:
          description: Table name
          type: string
        tableSpace:
          description: Table space
          type: string
        tableType:
          description: Table type
          enum:
          - YQL_TABLE_TYPE
          - REDIS_TABLE_TYPE
          - PGSQL_TABLE_TYPE
          - TRANSACTION_STATUS_TABLE_TYPE
          type: string
        tableUUID:
          description: Table UUID
          format: uuid
          readOnly: true
          type: string
        walSizeBytes:
          description: WAL size in bytes
          format: double
          readOnly: true
          type: number
      type: object
    BootstrapBackupParams:
      description: Backup parameters for bootstrapping
      example:
        storageConfigUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        parallelism: 0
      properties:
        parallelism:
          description: Number of concurrent commands used by yb_backup (not ybc) to run on nodes over SSH
          format: int32
          type: integer
        storageConfigUUID:
          description: Storage configuration UUID
          format: uuid
          type: string
      required:
      - storageConfigUUID
      type: object
    RestartBootstrapParams:
      description: Bootstrap parameters for restarting
      example:
        backupRequestParams:
          storageConfigUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          parallelism: 0
      properties:
        backupRequestParams:
          $ref: '#/components/schemas/BootstrapBackupParams'
      required:
      - backupRequestParams
      type: object
    XClusterNamespaceConfig:
      example:
        restoreUuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        sourceNamespaceId: sourceNamespaceId
        backupUuid: 046b

# --- truncated at 32 KB (125 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/openapi/yugabytedb-asynchronous-replication-api-openapi.yml