Couchbase Cluster References API

Endpoints for managing remote cluster references used as XDCR targets.

Documentation

Specifications

Other Resources

OpenAPI Specification

couchbase-cluster-references-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Couchbase Analytics Service REST Allowed CIDRs Cluster References API
  description: The Couchbase Analytics Service REST API provides access to the Analytics service for running complex analytical queries on operational data without impacting performance of key-value operations. It supports SQL++ queries for analytics, management of links to external data sources, and configuration of user-defined libraries. The service enables real-time analytics on JSON data alongside transactional workloads.
  version: '7.6'
  contact:
    name: Couchbase Support
    url: https://support.couchbase.com
  termsOfService: https://www.couchbase.com/terms-of-use
servers:
- url: https://localhost:8095
  description: Analytics Service (default port)
- url: https://localhost:18095
  description: Analytics Service (SSL)
security:
- basicAuth: []
tags:
- name: Cluster References
  description: Endpoints for managing remote cluster references used as XDCR targets.
paths:
  /pools/default/remoteClusters:
    get:
      operationId: listRemoteClusters
      summary: List remote cluster references
      description: Returns the list of all remote cluster references configured for XDCR replication.
      tags:
      - Cluster References
      responses:
        '200':
          description: Successful retrieval of remote cluster references
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteClusterReference'
        '401':
          description: Unauthorized access
    post:
      operationId: createRemoteCluster
      summary: Create a remote cluster reference
      description: Creates a new remote cluster reference that can be used as a target for XDCR replications.
      tags:
      - Cluster References
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RemoteClusterCreateRequest'
      responses:
        '200':
          description: Remote cluster reference created successfully
        '400':
          description: Invalid cluster reference configuration
        '401':
          description: Unauthorized access
  /pools/default/remoteClusters/{clusterName}:
    put:
      operationId: updateRemoteCluster
      summary: Update a remote cluster reference
      description: Updates the configuration of an existing remote cluster reference.
      tags:
      - Cluster References
      parameters:
      - $ref: '#/components/parameters/clusterName'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RemoteClusterCreateRequest'
      responses:
        '200':
          description: Remote cluster reference updated successfully
        '400':
          description: Invalid cluster reference configuration
        '401':
          description: Unauthorized access
        '404':
          description: Remote cluster reference not found
    delete:
      operationId: deleteRemoteCluster
      summary: Delete a remote cluster reference
      description: Deletes the specified remote cluster reference. All replications using this reference must be deleted first.
      tags:
      - Cluster References
      parameters:
      - $ref: '#/components/parameters/clusterName'
      responses:
        '200':
          description: Remote cluster reference deleted successfully
        '401':
          description: Unauthorized access
        '404':
          description: Remote cluster reference not found
components:
  schemas:
    RemoteClusterCreateRequest:
      type: object
      description: Request to create or update a remote cluster reference
      required:
      - name
      - hostname
      - username
      - password
      properties:
        name:
          type: string
          description: Name for the remote cluster reference
        hostname:
          type: string
          description: Hostname and port of the remote cluster
        username:
          type: string
          description: Administrator username on the remote cluster
        password:
          type: string
          description: Administrator password on the remote cluster
        demandEncryption:
          type: integer
          description: Whether to require encryption (0 or 1)
          enum:
          - 0
          - 1
        encryptionType:
          type: string
          description: Type of encryption to use
          enum:
          - none
          - half
          - full
        certificate:
          type: string
          description: CA certificate for the remote cluster in PEM format
    RemoteClusterReference:
      type: object
      description: Remote cluster reference for XDCR
      properties:
        name:
          type: string
          description: Name of the remote cluster reference
        uuid:
          type: string
          description: UUID of the remote cluster
        hostname:
          type: string
          description: Hostname and port of the remote cluster
        username:
          type: string
          description: Administrator username for the remote cluster
        uri:
          type: string
          description: URI for accessing this cluster reference
        deleted:
          type: boolean
          description: Whether the reference is marked for deletion
        demandEncryption:
          type: boolean
          description: Whether encryption is required
        encryptionType:
          type: string
          description: Type of encryption used
          enum:
          - none
          - half
          - full
  parameters:
    clusterName:
      name: clusterName
      in: path
      required: true
      description: The name of the remote cluster reference
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication using Couchbase Server credentials.
externalDocs:
  description: Couchbase Analytics Service REST API Documentation
  url: https://docs.couchbase.com/server/current/analytics/rest-analytics.html