Listing Incoming Replications

    Incoming replications details for a target cluster in XDCR can be retrieved using the REST API.

    HTTP Method and URI

    GET /xdcr/sourceClusters

    Description

    Using the REST API, you can:

    • Retrieve the list of remote clusters that replicate to the current cluster.

    • Inspect the incoming XDCR replication specifications.

    Required Permissions

    You must have Full Admin, Cluster Admin, or XDCR Admin role to call this API.

    curl Syntax

    This API call retrieves information about all source clusters that are replicating to the current cluster (target cluster).

    Run the following command on the target cluster.

    curl -X GET -u <user-name>:<password> http://<ip-address-or-domain-name>:<port-number>/xdcr/sourceClusters | jq

    Response

    For each source cluster, the API returns replication specifications, current settings, source nodes, and heartbeat status as a JSON array, if the call is successful.

    [
      {
        "SourceClusterNodes": [
          "http://<ip-address-or-domain-name-or-node-name>:<port-number>",
        ],
        "SourceClusterReplSpecs": "<list-of-replication-specifications-from-source-cluster-to-this-target>",
        "SourceClusterUUID": "<source-cluster-UUID>",
        "SourceClusterName": "<source-cluster-name>",
        "SourceClusterHBReceiveTime": "<time-of-last-received-heartbeat>",
        "SourceClusterHBExpiryTime": "<heartbeat-expiry-time>"
      }
    ]

    Other Responses

    Value Description

    200 OK and JSON array containing repository information depending on the specific endpoint.

    Successful call.

    400

    Invalid parameter.

    400 Object Not found

    The repository in the endpoint URI does not exist.

    401 Unauthorized

    Authorization failure due to incorrect username or password.

    403 Forbidden, plus a JSON message explaining the minimum permissions.

    The provided username has insufficient privileges to call this method.

    404 Object Not Found

    Error in the URI path.

    500 Could not retrieve the requested repository

    Error in Couchbase Server.

    Examples

    The following examples show how to use the GET /xdcr/sourceClusters API to view incoming replications information.

    Cluster without replication specifications

    curl -X GET -u Administrator:pw http://127.0.0.1:8091/xdcr/sourceClusters | jq

    This call retrieves the following details of a source cluster with one node. This source cluster has created a remote cluster reference to a target cluster but has not yet created a replication specification.

    [
      {
        "SourceClusterNodes": [
          "127.0.0.1:8091"
        ],
        "SourceClusterReplSpecs": null,
        "SourceClusterUUID": "d4b15b1069e4aaac1d6d0cb7d15b1dde",
        "SourceClusterName": "m1",
        "SourceClusterHBReceiveTime": "2024-10-24T20:52:21.902848+05:30",
        "SourceClusterHBExpiryTime": "2024-10-24T21:02:21.902848+05:30"
      }
    ]

    Cluster with replication specifications

    curl -X GET -u Administrator:pw http://127.0.0.1:8091/xdcr/sourceClusters | jq

    This source cluster has two nodes, has a reference established with the target cluster, and is replicating to the target cluster. This call retrieves source cluster information and its replication specifications to the target cluster.

    [
      {
        "SourceClusterNodes": [
          "10.100.172.24:8091",
          "127.0.0.1:8091"
        ],
        "SourceClusterReplSpecs": [
          {
            "id": "d4b15b1069e4aaac1d6d0cb7d15b1dde/B0/B1",
            "internalId": "ZsrIjhmEaf9232WGyoSexg==",
            "sourceBucketName": "B0",
            "sourceBucketUUID": "64b784ca2b3e8df7ab1cbf70ab89772f",
            "targetClusterUUID": "d4b15b1069e4aaac1d6d0cb7d15b1dde",
            "targetBucketName": "B1",
            "targetBucketUUID": "1d86409fe13ffbeb36ba3bf382005480",
            "replicationSettings": {
              "values": {
                "CollectionsMgtMulti": 8,
                "active": true,
              ....
              "Revision": null
            },
            "Revision": "g2gCYQBsAAAAAWgCbQAAACA2OGRiNmU0ZDE0YWQwNTFlODM3ZDM1N2FjYTYxMGIzZWgCYQNuBQAUvLneDmo="
          }
        ],
        "SourceClusterUUID": "6aa2a7cc7d9a42c253e76f832055ccea",
        "SourceClusterName": "m2",
        "SourceClusterHBReceiveTime": "2024-10-24T20:52:21.902848+05:30",
        "SourceClusterHBExpiryTime": "2024-10-24T21:02:21.902848+05:30"
      }
    ]

    Cluster with replication specifications - a full example

    curl -s -X GET -u Administrator:password http://localhost:8091/xdcr/sourceClusters | jq

    This call retrieves information for all incoming replications into the cluster. The example output shows that there are two different remote clusters, South and East, replicating data to this cluster. The South cluster is replicating data from two different buckets, and East cluster is replicating data from one bucket. The information from this REST API call is the same information displayed in the UI for XDCR Incoming Replications.

    The output of the call is piped to jq to improve readability.

    [
      {
        "SourceClusterHBExpiryTime": "2025-07-24T09:43:46.938958054Z",
        "SourceClusterHBReceiveTime": "2025-07-24T09:33:46.938958054Z",
        "SourceClusterName": "South",
        "SourceClusterNodes": [
          "172.31.32.111:8091",
          "172.31.34.51:8091",
          "172.31.38.93:8091",
          "172.31.43.209:8091"
        ],
        "SourceClusterReplSpecs": [
          {
            "id": "f6f3a51e988f305b16433237d02bec7d/bucket2/bucket2",
            "internalId": "UpOt-tAgy80Rjg0Fjm4WOA==",
            "sourceBucketName": "bucket2",
            "sourceBucketUUID": "cac7a5e898267a5c7a4656043484fe32",
            "targetClusterUUID": "f6f3a51e988f305b16433237d02bec7d",
            "targetBucketName": "bucket2",
            "targetBucketUUID": "c5bfa3043579b1480cf865efa0156372",
            "replicationSettings": {
              "values": {
                "CollectionsMgtMulti": 8,
                "active": true,
                "backlogThreshold": 50,
                "bandwidth_limit": 0,
                "cLogErrorTimeWindowMs": 120000,
                "cLogMaxErrorCount": 10,
                "cLogNetworkRetryCount": 5,
                "cLogNetworkRetryIntervalMs": 2000,
                "cLogPoolGetTimeoutMs": 5000,
                "cLogQueueCapacity": 6000,
                "cLogReattemptDurationMs": 600000,
                "cLogSetTimeoutMs": 5000,
                "cLogWorkerCount": 20,
                "casDriftThresholdSecs": 3900,
                "checkpoint_interval": 600,
                "ckptSvcCacheEnabled": true,
                "colMappingRules": {},
                "collectionsSkipSrcValidation": false,
                "compression_type": 3,
                "conflictLogging": {},
                "dcpEnablePurgeRollback": false,
                "delAllBackfills": false,
                "delSpecificBackfillForVb": -1,
                "disableHlvBasedShortCircuit": false,
                "dismissEvent": -1,
                "doc_batch_size_kb": 2048,
                "failure_restart_interval": 10,
                "filterSystemScope": true,
                "filter_exp_del": 0,
                "filter_expression": "",
                "filter_expression_version": 0,
                "filter_skip_restream": false,
                "jsFunctionTimeoutMs": 20000,
                "log_level": 13,
                "manualBackfill": "",
                "mergeFunctionMapping": {},
                "mobile": 1,
                "optimistic_replication_threshold": 256,
                "pipelineReinitHash": "aX9ngksywy0=",
                "preCheckCasDriftThresholdHours": 8760,
                "preReplicateVBMasterCheck": true,
                "priority": 0,
                "replicateCkptIntervalMin": 20,
                "replication_type": "xmem",
                "retryOnErrExceptAuthErrMaxWaitSec": 360,
                "retryOnRemoteAuthErr": true,
                "retryOnRemoteAuthErrMaxWaitSec": 360,
                "skipReplSpecAutoGc": false,
                "source_nozzle_per_node": 2,
                "stats_interval": 1000,
                "targetTopologyLogFrequency": 1800,
                "target_nozzle_per_node": 2,
                "worker_batch_size": 500,
                "xdcrDevBackfillMgrVbsTasksDoneNotifierDelay": false,
                "xdcrDevBackfillReplUpdateDelayMs": 0,
                "xdcrDevBackfillReqHandlerHandleVBTaskDoneHang": false,
                "xdcrDevBackfillReqHandlerStartOnceDelaySec": 0,
                "xdcrDevBackfillRollbackTo0VB": -1,
                "xdcrDevBackfillSendDelayMs": 0,
                "xdcrDevBackfillUnrecoverableErrorInj": false,
                "xdcrDevCasDriftInjectDocKey": "",
                "xdcrDevCkptMgrForceGCWaitSec": 0,
                "xdcrDevColManifestSvcDelaySec": 0,
                "xdcrDevMainRollbackTo0VB": -1,
                "xdcrDevMainSendDelayMs": 0,
                "xdcrDevNsServerPort": 0,
                "xdcrDevPreCheckCasDriftInjectVb": -1,
                "xdcrDevPreCheckMaxCasErrorInjection": false
              },
              "type": "xmem",
              "filter_exp": "",
              "active": true,
              "checkpoint_interval": 600,
              "batch_count": 500,
              "batch_size": 2048,
              "failure_restart_interval": 10,
              "optimistic_replication_threshold": 256,
              "source_nozzle_per_node": 2,
              "target_nozzle_per_node": 2,
              "max_expected_replication_lag": 0,
              "timeout_percentage_cap": 0,
              "log_level": 13,
              "stats_interval": 1000,
              "bandwidth_limit": 0,
              "compression_type": 3,
              "Revision": null
            },
            "Revision": "g2gCbgUAwXD24Q5sAAAAAWgCbQAAACAwYzMwMTAwYzkxYzUzYzIxM2E4ODUzNDBiMTYzOGJhN2gCYQFuBQDIcvbhDmo="
          },
          {
            "id": "f6f3a51e988f305b16433237d02bec7d/bucket3/bucket3",
            "internalId": "Je_06FAjxs4ecQLceIO2WQ==",
            "sourceBucketName": "bucket3",
            "sourceBucketUUID": "8e29ae17bff14bd01f7bded1851a41d3",
            "targetClusterUUID": "f6f3a51e988f305b16433237d02bec7d",
            "targetBucketName": "bucket3",
            "targetBucketUUID": "1a93d775f2ac2b0cf3449ac5d9579939",
            "replicationSettings": {
              "values": {
                "CollectionsMgtMulti": 8,
                "active": true,
                "backlogThreshold": 50,
                "bandwidth_limit": 0,
                "cLogErrorTimeWindowMs": 120000,
                "cLogMaxErrorCount": 10,
                "cLogNetworkRetryCount": 5,
                "cLogNetworkRetryIntervalMs": 2000,
                "cLogPoolGetTimeoutMs": 5000,
                "cLogQueueCapacity": 6000,
                "cLogReattemptDurationMs": 600000,
                "cLogSetTimeoutMs": 5000,
                "cLogWorkerCount": 20,
                "casDriftThresholdSecs": 3900,
                "checkpoint_interval": 600,
                "ckptSvcCacheEnabled": true,
                "colMappingRules": {},
                "collectionsSkipSrcValidation": false,
                "compression_type": 3,
                "conflictLogging": {},
                "dcpEnablePurgeRollback": false,
                "delAllBackfills": false,
                "delSpecificBackfillForVb": -1,
                "disableHlvBasedShortCircuit": false,
                "dismissEvent": -1,
                "doc_batch_size_kb": 2048,
                "failure_restart_interval": 10,
                "filterSystemScope": true,
                "filter_exp_del": 0,
                "filter_expression": "",
                "filter_expression_version": 0,
                "filter_skip_restream": false,
                "jsFunctionTimeoutMs": 20000,
                "log_level": 13,
                "manualBackfill": "",
                "mergeFunctionMapping": {},
                "mobile": 1,
                "optimistic_replication_threshold": 256,
                "pipelineReinitHash": "24w8fKhLt0c=",
                "preCheckCasDriftThresholdHours": 8760,
                "preReplicateVBMasterCheck": true,
                "priority": 0,
                "replicateCkptIntervalMin": 20,
                "replication_type": "xmem",
                "retryOnErrExceptAuthErrMaxWaitSec": 360,
                "retryOnRemoteAuthErr": true,
                "retryOnRemoteAuthErrMaxWaitSec": 360,
                "skipReplSpecAutoGc": false,
                "source_nozzle_per_node": 2,
                "stats_interval": 1000,
                "targetTopologyLogFrequency": 1800,
                "target_nozzle_per_node": 2,
                "worker_batch_size": 500,
                "xdcrDevBackfillMgrVbsTasksDoneNotifierDelay": false,
                "xdcrDevBackfillReplUpdateDelayMs": 0,
                "xdcrDevBackfillReqHandlerHandleVBTaskDoneHang": false,
                "xdcrDevBackfillReqHandlerStartOnceDelaySec": 0,
                "xdcrDevBackfillRollbackTo0VB": -1,
                "xdcrDevBackfillSendDelayMs": 0,
                "xdcrDevBackfillUnrecoverableErrorInj": false,
                "xdcrDevCasDriftInjectDocKey": "",
                "xdcrDevCkptMgrForceGCWaitSec": 0,
                "xdcrDevColManifestSvcDelaySec": 0,
                "xdcrDevMainRollbackTo0VB": -1,
                "xdcrDevMainSendDelayMs": 0,
                "xdcrDevNsServerPort": 0,
                "xdcrDevPreCheckCasDriftInjectVb": -1,
                "xdcrDevPreCheckMaxCasErrorInjection": false
              },
              "type": "xmem",
              "filter_exp": "",
              "active": true,
              "checkpoint_interval": 600,
              "batch_count": 500,
              "batch_size": 2048,
              "failure_restart_interval": 10,
              "optimistic_replication_threshold": 256,
              "source_nozzle_per_node": 2,
              "target_nozzle_per_node": 2,
              "max_expected_replication_lag": 0,
              "timeout_percentage_cap": 0,
              "log_level": 13,
              "stats_interval": 1000,
              "bandwidth_limit": 0,
              "compression_type": 3,
              "Revision": null
            },
            "Revision": "g2gCbgUAwXD24Q5sAAAAAWgCbQAAACAwYzMwMTAwYzkxYzUzYzIxM2E4ODUzNDBiMTYzOGJhN2gCYQFuBQDoc/bhDmo="
          }
        ],
        "SourceClusterUUID": "a1a803920ba54e0fd6e2d60ea98a295a"
      },
      {
        "SourceClusterHBExpiryTime": "2025-07-24T09:43:33.429011256Z",
        "SourceClusterHBReceiveTime": "2025-07-24T09:33:33.429011256Z",
        "SourceClusterName": "East",
        "SourceClusterNodes": [
          "127.0.0.1:8091"
        ],
        "SourceClusterReplSpecs": [
          {
            "id": "f6f3a51e988f305b16433237d02bec7d/bucket1/bucket1",
            "internalId": "SWCVA9Urkx4AuP_HQ0AFdg==",
            "sourceBucketName": "bucket1",
            "sourceBucketUUID": "78fa53dff1b94ff0ebc07168f1ae3661",
            "targetClusterUUID": "f6f3a51e988f305b16433237d02bec7d",
            "targetBucketName": "bucket1",
            "targetBucketUUID": "f45b22138f03ed2a7c107c8ca668aa78",
            "replicationSettings": {
              "values": {
                "CollectionsMgtMulti": 8,
                "active": true,
                "backlogThreshold": 50,
                "bandwidth_limit": 0,
                "cLogErrorTimeWindowMs": 120000,
                "cLogMaxErrorCount": 10,
                "cLogNetworkRetryCount": 5,
                "cLogNetworkRetryIntervalMs": 2000,
                "cLogPoolGetTimeoutMs": 5000,
                "cLogQueueCapacity": 6000,
                "cLogReattemptDurationMs": 600000,
                "cLogSetTimeoutMs": 5000,
                "cLogWorkerCount": 20,
                "casDriftThresholdSecs": 3900,
                "checkpoint_interval": 600,
                "ckptSvcCacheEnabled": true,
                "colMappingRules": {},
                "collectionsSkipSrcValidation": false,
                "compression_type": 3,
                "conflictLogging": {},
                "dcpEnablePurgeRollback": false,
                "delAllBackfills": false,
                "delSpecificBackfillForVb": -1,
                "disableHlvBasedShortCircuit": false,
                "dismissEvent": -1,
                "doc_batch_size_kb": 2048,
                "failure_restart_interval": 10,
                "filterSystemScope": true,
                "filter_exp_del": 0,
                "filter_expression": "",
                "filter_expression_version": 0,
                "filter_skip_restream": false,
                "jsFunctionTimeoutMs": 20000,
                "log_level": 13,
                "manualBackfill": "",
                "mergeFunctionMapping": {},
                "mobile": 1,
                "optimistic_replication_threshold": 256,
                "pipelineReinitHash": "mPc--XTLDhk=",
                "preCheckCasDriftThresholdHours": 8760,
                "preReplicateVBMasterCheck": true,
                "priority": 0,
                "replicateCkptIntervalMin": 20,
                "replication_type": "xmem",
                "retryOnErrExceptAuthErrMaxWaitSec": 360,
                "retryOnRemoteAuthErr": true,
                "retryOnRemoteAuthErrMaxWaitSec": 360,
                "skipReplSpecAutoGc": false,
                "source_nozzle_per_node": 2,
                "stats_interval": 1000,
                "targetTopologyLogFrequency": 1800,
                "target_nozzle_per_node": 2,
                "worker_batch_size": 500,
                "xdcrDevBackfillMgrVbsTasksDoneNotifierDelay": false,
                "xdcrDevBackfillReplUpdateDelayMs": 0,
                "xdcrDevBackfillReqHandlerHandleVBTaskDoneHang": false,
                "xdcrDevBackfillReqHandlerStartOnceDelaySec": 0,
                "xdcrDevBackfillRollbackTo0VB": -1,
                "xdcrDevBackfillSendDelayMs": 0,
                "xdcrDevBackfillUnrecoverableErrorInj": false,
                "xdcrDevCasDriftInjectDocKey": "",
                "xdcrDevCkptMgrForceGCWaitSec": 0,
                "xdcrDevColManifestSvcDelaySec": 0,
                "xdcrDevMainRollbackTo0VB": -1,
                "xdcrDevMainSendDelayMs": 0,
                "xdcrDevNsServerPort": 0,
                "xdcrDevPreCheckCasDriftInjectVb": -1,
                "xdcrDevPreCheckMaxCasErrorInjection": false
              },
              "type": "xmem",
              "filter_exp": "",
              "active": true,
              "checkpoint_interval": 600,
              "batch_count": 500,
              "batch_size": 2048,
              "failure_restart_interval": 10,
              "optimistic_replication_threshold": 256,
              "source_nozzle_per_node": 2,
              "target_nozzle_per_node": 2,
              "max_expected_replication_lag": 0,
              "timeout_percentage_cap": 0,
              "log_level": 13,
              "stats_interval": 1000,
              "bandwidth_limit": 0,
              "compression_type": 3,
              "Revision": null
            },
            "Revision": "g2gCbgUAA0f24Q5sAAAAAWgCbQAAACA0MzgwZmE0Y2JmYzc1OTk0MTUxNTMzZjc4NDEyY2E1NGgCYQFuBQC6cvbhDmo="
          }
        ],
        "SourceClusterUUID": "a0ae463081304db791b54c95a7956856"
      }
    ]

    See Also