Cohesity Remote Cluster API

The RemoteCluster API from Cohesity — 3 operation(s) for remotecluster.

Operations 6

GET /public/remoteClusters List the remote Cohesity Clusters that are registered on this local Cohesity… #
POST /public/remoteClusters Register a remote Cluster on this local Cluster for replication #
GET /public/remoteClusters/{id} List details about a single remote Cluster registered on this local Cluster #
PUT /public/remoteClusters/{id} Update the connection settings of the registered remote Cluster #
DELETE /public/remoteClusters/{id} Delete a remote Cluster registration connection #
GET /public/replicationEncryptionKey Get the encryption key on this Cluster #

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/cohesity-remotecluster-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

cohesity-remotecluster-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'This API list provides operations for interfacing with the Cohesity

    Cluster.'
  title: Cohesity REST Remote Cluster API
  version: '1.0'
servers:
- url: https://<CLUSTER_VIP>/irisservices/api/v1
tags:
- name: RemoteCluster
paths:
  /public/remoteClusters:
    get:
      description: 'Cohesity Clusters involved in replication, must be registered to each other.

        For example, if Cluster A is replicating Snapshots to Cluster B, Cluster

        B must be registered on Cluster A and Cluster B must be registered

        on Cluster A.'
      tags:
      - RemoteCluster
      summary: List the remote Cohesity Clusters that are registered on this local Cohesity…
      operationId: GetRemoteClusters
      parameters:
      - x-go-name: ClusterIds
        description: Filter by a list of Cluster ids.
        name: clusterIds
        in: query
        schema:
          type: array
          items:
            type: integer
            format: int64
      - x-go-name: ClusterNames
        description: Filter by a list of Cluster names.
        name: clusterNames
        in: query
        schema:
          type: array
          items:
            type: string
      - x-go-name: PurposeReplication
        description: Filter for purpose as Replication.
        name: purposeReplication
        in: query
        schema:
          type: boolean
      - x-go-name: PurposeRemoteAccess
        description: Filter for purpose as Remote Access.
        name: purposeRemoteAccess
        in: query
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/GetRemoteClustersResponse'
        default:
          $ref: '#/components/responses/Error'
    post:
      description: 'For a Protection Job to replicate Snapshots from one Cluster

        to another Cluster, the Clusters must be paired together by

        registering each Cluster on the other Cluster.

        For example, Cluster A must be registered on Cluster B

        and Cluster B must be registered on Cluster A.'
      tags:
      - RemoteCluster
      summary: Register a remote Cluster on this local Cluster for replication
      operationId: CreateRemoteCluster
      responses:
        '201':
          $ref: '#/components/responses/CreateRemoteClusterResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterRemoteCluster'
        description: Request to register a remote Cluster.
        required: true
  /public/remoteClusters/{id}:
    get:
      description: 'Returns the details about the remote Cluster with the specified Cluster id

        that is registered on this local Cluster.'
      tags:
      - RemoteCluster
      summary: List details about a single remote Cluster registered on this local Cluster
      operationId: GetRemoteClusterById
      parameters:
      - x-go-name: Id
        description: id of the remote Cluster
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/GetRemoteClusterByIdResponse'
        default:
          $ref: '#/components/responses/Error'
    put:
      description: 'Update the connection settings of the specified remote Cluster that is

        registered on this Cluster.'
      tags:
      - RemoteCluster
      summary: Update the connection settings of the registered remote Cluster
      operationId: UpdateRemoteCluster
      parameters:
      - x-go-name: Id
        description: id of the remote Cluster
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/UpdateRemoteClusterResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterRemoteCluster'
        description: Request to update a remote Cluster.
        required: true
    delete:
      description: 'Delete the specified remote Cluster registration connection

        on this Cluster.'
      tags:
      - RemoteCluster
      summary: Delete a remote Cluster registration connection
      operationId: DeleteRemoteCluster
      parameters:
      - x-go-name: Id
        description: id of the remote Cluster
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          $ref: '#/components/responses/NoContentResponse'
        default:
          $ref: '#/components/responses/Error'
  /public/replicationEncryptionKey:
    get:
      description: 'Get the encryption key that is used for encrypting replication data

        between this Cluster and a remote Cluster.'
      tags:
      - RemoteCluster
      summary: Get the encryption key on this Cluster
      operationId: GetReplicationEncryptionKey
      responses:
        '200':
          $ref: '#/components/responses/GetReplicationEncryptionKeyResponse'
        default:
          $ref: '#/components/responses/Error'
components:
  responses:
    GetReplicationEncryptionKeyResponse:
      description: Success
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReplicationEncryptionKeyReponse'
    NoContentResponse:
      description: No Content
    UpdateRemoteClusterResponse:
      description: Success
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RemoteCluster'
    Error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
    GetRemoteClusterByIdResponse:
      description: Success
      content:
        application/json:
          schema:
            description: 'A single remote Cluster instance with the specified Cluster id is returned

              in this Array.'
            type: array
            title: Single Remote Cluster in Array.
            items:
              $ref: '#/components/schemas/RemoteCluster'
    CreateRemoteClusterResponse:
      description: Success
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RemoteCluster'
    GetRemoteClustersResponse:
      description: Success
      content:
        application/json:
          schema:
            description: 'Specifies the remote Clusters that are registered on this Cluster

              for replication that match the specified filter criteria.'
            type: array
            title: Array of Remote Clusters.
            items:
              $ref: '#/components/schemas/RemoteCluster'
  schemas:
    RequestError:
      description: Details about the Error.
      type: object
      title: Error
      properties:
        errorCode:
          description: Operation response error code.
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: ErrorCode
        message:
          description: Description of the error.
          type:
          - string
          - 'null'
          x-go-name: Message
      x-go-package: cohesity/iris/server/data/public
    AccessTokenCredential:
      description: Specifies the Cohesity credentials required for generating an access token.
      type: object
      title: Create Access Token Credential Request.
      required:
      - username
      - password
      properties:
        domain:
          description: 'Specifies the domain the user is logging in to. For a Local user model,

            the domain is always LOCAL. For LDAP/AD user models, the domain will map to

            an LDAP connection string. A user is uniquely identified by a

            combination of username and domain. If this is not set, LOCAL is assumed.'
          type:
          - string
          - 'null'
          x-go-name: Domain
        password:
          description: Specifies the password of the Cohesity user account.
          type:
          - string
          - 'null'
          x-go-name: Password
        username:
          description: Specifies the login name of the Cohesity user.
          type:
          - string
          - 'null'
          x-go-name: Username
      x-go-package: cohesity/iris/server/data/public
    RemoteCluster:
      description: 'Specifies information about a remote Cluster that has been registered

        for replication.'
      type: object
      title: Remote Cluster.
      properties:
        allEndpointsReachable:
          description: 'Specifies whether any endpoint (such as a Node) on the remote Cluster

            is reachable from this local Cluster.

            If true, a service running on the local Cluster can communicate

            directly with any of its peers running on the remote Cluster, without

            using a proxy.'
          type:
          - boolean
          - 'null'
          x-go-name: AllEndpointsReachable
        autoRegisterTarget:
          description: 'Specifies whether the remote cluster needs to be kept in sync.

            This will be set to true by default.'
          type:
          - boolean
          - 'null'
          x-go-name: AutoRegisterTarget
        autoRegistration:
          description: 'Specifies whether the remote registration has happened automatically

            (due to registration on the other site).

            Can''t think of other states (other than manually & automatically) so this

            isn''t an enum.

            For a manual registration, this field will not be set.'
          type:
          - boolean
          - 'null'
          x-go-name: AutoRegistration
        bandwidthLimit:
          description: 'Specifies settings for limiting the data transfer rate between

            the local and remote Clusters.'
          title: Bandwidth Limit.
          $ref: '#/components/schemas/BandwidthLimit'
        clusterId:
          description: Specifies the unique id of the remote Cluster.
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: ClusterId
        clusterIncarnationId:
          description: 'Specifies the unique incarnation id of the remote Cluster. This

            id is determined dynamically by contacting the remote Cluster.'
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: ClusterIncarnationId
        compressionEnabled:
          description: 'Specifies whether to compress the outbound data when

            transferring the replication data over the network to the remote Cluster.'
          type:
          - boolean
          - 'null'
          x-go-name: CompressionEnabled
        description:
          description: Specifies any additional information if needed.
          type:
          - string
          - 'null'
          x-go-name: Description
        encryptionKey:
          description: 'Specifies the encryption key used for encrypting the replication data

            from a local Cluster to a remote Cluster.

            If a key is not specified, replication traffic encryption is disabled.

            When Snapshots are replicated from a local Cluster to a remote Cluster,

            the encryption key specified on the local Cluster must be the same

            as the key specified on the remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: EncryptionKey
        localIps:
          description: 'Array of Local IP Addresses.


            Specifies the IP addresses of the interfaces in the local Cluster

            which will be used for communicating with the remote Cluster.'
          type:
          - array
          - 'null'
          items:
            type: string
          x-go-name: LocalIps
        name:
          description: 'Specifies the name of the remote cluster. This field is determined

            dynamically by contacting the remote cluster.'
          type:
          - string
          - 'null'
          x-go-name: Name
        networkInterface:
          description: 'Specifies the name of the network interfaces to use for communicating with

            the remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: NetworkInterface
        purposeRemoteAccess:
          description: Whether the remote cluster will be used for remote access for SPOG.
          type:
          - boolean
          - 'null'
          x-go-name: PurposeRemoteAccess
        purposeReplication:
          description: Whether the remote cluster will be used for replication.
          type:
          - boolean
          - 'null'
          x-go-name: PurposeReplication
        remoteAccessCredentials:
          description: 'Optional field for the user credentials to connect to Iris for remote

            access for SPOG. If this is not specified, then credentials specified

            for replication set up will be used for remote access for SPOG.

            Allowing a different user credentials to be set up for SPOG permits

            having different roles for remote access for SPOG and replication set

            up.'
          $ref: '#/components/schemas/AccessTokenCredential'
        remoteIps:
          description: 'Array of Remote Node IP Addresses.


            Specifies the IP addresses of the Nodes on the remote Cluster to

            connect with. These IP addresses can also be VIPS.

            Specifying hostnames is not supported.'
          type:
          - array
          - 'null'
          items:
            type: string
          x-go-name: RemoteIps
        tenantId:
          description: 'Specifies the tenant Id of the organization that created this remote

            cluster configuration.'
          type:
          - string
          - 'null'
          x-go-name: TenantId
        userName:
          description: 'Specifies the Cohesity user name used to connect to the

            remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: UserName
        viewBoxPairInfo:
          description: 'Array of Storage Domain (View Box) Pairs.


            Specifies pairings between Storage Domains (View Boxes) on the local Cluster

            with Storage Domains (View Boxes) on a remote Cluster that are used in

            replication.'
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ViewBoxPairInfo'
          x-go-name: ViewBoxPairInfoList
      x-go-package: cohesity/iris/server/data/public
    ReplicationEncryptionKeyReponse:
      description: 'Specifies the encryption key that is used for encrypting replication data

        from this Cluster to a remote Cluster.'
      type: object
      title: Replication Encryption Key.
      properties:
        encryptionKey:
          description: Specifies a replication encryption key.
          type:
          - string
          - 'null'
          x-go-name: EncryptionKey
      x-go-package: cohesity/iris/server/data/public
    BandwidthLimit:
      description: 'Specifies settings for limiting the data transfer rate between

        the local and remote Clusters or bandwidth limiting schedule for apollo.

        Only one of RateLimitBytesPerSec or IoRate should be set in this struct and

        corresponding BandwidthLimitOverrides should also be in the same unit.'
      type: object
      title: Bandwidth Limit.
      properties:
        bandwidthLimitOverrides:
          description: 'Array of Override Bandwidth Limits.


            Specifies a list of override bandwidth limits and time periods

            when those limits override the rateLimitBytesPerSec limit.

            If overlapping time periods are specified, the last one in the

            array takes precedence.'
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/BandwidthLimitOverride'
          x-go-name: BandwidthLimitOverrides
        ioRate:
          description: 'Specifies the default IO Rate of the throttling schedule. This value is

            internally mapped to some notion of how many resources a process should be

            consuming.'
          type:
          - integer
          - 'null'
          format: int32
          x-go-name: IoRate
        rateLimitBytesPerSec:
          description: 'Specifies the maximum allowed data transfer rate between the local Cluster

            and remote Clusters. The value is specified in bytes per second.

            If not set, the data transfer rate is not limited.'
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: RateLimitBytesPerSec
        timezone:
          description: 'Specifies a time zone for the specified time period.

            The time zone is defined in the following format: "Area/Location",

            for example: "America/New_York".'
          type:
          - string
          - 'null'
          x-go-name: Timezone
      x-go-package: cohesity/iris/server/data/public
    BandwidthLimitOverride:
      description: 'Specifies bandwidth limit override value to be enforced during

        the specified daily time period for the specified days of the week.'
      type: object
      title: Bandwidth Limit Override
      properties:
        bytesPerSecond:
          description: 'Specifies the value to override the regular maximum bandwidth rate

            (rateLimitBytesPerSec) for the specified time period.

            The value is specified in bytes per second.'
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: BytesPerSecond
        ioRate:
          description: 'Specifies the value to override the default IO rate for the specified

            time period.'
          type:
          - integer
          - 'null'
          format: int32
          x-go-name: IoRate
        timePeriods:
          description: 'Specifies a daily time period and days of the week when the

            regular maximum bandwidth rate should be overridden.'
          $ref: '#/components/schemas/TimeOfAWeek'
      x-go-package: cohesity/iris/server/data/public
    TimeOfDay:
      description: Specifies a time in day with hours and minutes.
      type: object
      title: Time of Day.
      properties:
        hour:
          description: Specifies an (0-23) hour in a day.
          type:
          - integer
          - 'null'
          format: int32
          x-go-name: Hour
        minute:
          description: Specifies a (0-59) minute in an hour.
          type:
          - integer
          - 'null'
          format: int32
          x-go-name: Minute
      x-go-package: cohesity/iris/server/data/public
    ViewBoxPairInfo:
      description: 'Specifies a pairing between a Storage Domain (View Box) on local Cluster

        with a Storage Domain (View Box) on a remote Cluster.

        When replication is configured between a local Cluster and a

        remote Cluster, the Snapshots are replicated from the specified

        Storage Domain (View Box) on the local Cluster to the Storage Domain

        (View Box) on the remote Cluster. See the online help for details about the

        supported Storage Domains (View Box) pairings between Clusters.'
      type: object
      title: Storage Domain (View Box) Pairing.
      properties:
        localViewBoxId:
          description: Specifies the id of the Storage Domain (View Box) on the local Cluster.
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: LocalViewBoxId
        localViewBoxName:
          description: Specifies the name of the Storage Domain (View Box) on the local Cluster.
          type:
          - string
          - 'null'
          x-go-name: LocalViewBoxName
        remoteViewBoxId:
          description: Specifies the id of the Storage Domain (View Box) on the remote Cluster.
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: RemoteViewBoxId
        remoteViewBoxName:
          description: Specifies the name of the Storage Domain (View Box) on the remote Cluster.
          type:
          - string
          - 'null'
          x-go-name: RemoteViewBoxName
      x-go-package: cohesity/iris/server/data/public
    RegisterRemoteCluster:
      description: 'Specifies the settings required for registering a remote Cluster

        on this local Cluster.'
      type: object
      title: Register Remote Cluster.
      properties:
        allEndpointsReachable:
          description: 'Specifies whether any endpoint (such as a Node) on the remote Cluster

            is reachable from this local Cluster.

            If true, a service running on the local Cluster can communicate

            directly with any of its peers running on the remote Cluster, without

            using a proxy.'
          type:
          - boolean
          - 'null'
          x-go-name: AllEndpointsReachable
        autoRegisterTarget:
          description: 'Specifies whether the remote cluster needs to be kept in sync.

            This will be set to true by default.'
          type:
          - boolean
          - 'null'
          x-go-name: AutoRegisterTarget
        autoRegistration:
          description: 'Specifies whether the remote registration has happened automatically

            (due to registration on the other site).

            Can''t think of other states (other than manually & automatically) so this

            isn''t an enum.

            For a manual registration, this field will not be set.'
          type:
          - boolean
          - 'null'
          x-go-name: AutoRegistration
        bandwidthLimit:
          description: 'Specifies settings for limiting the data transfer rate between

            the local and remote Clusters.'
          title: Bandwidth Limit.
          $ref: '#/components/schemas/BandwidthLimit'
        clusterId:
          description: Specifies the unique id of the remote Cluster.
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: ClusterId
        clusterIncarnationId:
          description: 'Specifies the unique incarnation id of the remote Cluster. This

            id is determined dynamically by contacting the remote Cluster.'
          type:
          - integer
          - 'null'
          format: int64
          x-go-name: ClusterIncarnationId
        compressionEnabled:
          description: 'Specifies whether to compress the outbound data when

            transferring the replication data over the network to the remote Cluster.'
          type:
          - boolean
          - 'null'
          x-go-name: CompressionEnabled
        description:
          description: Specifies any additional information if needed.
          type:
          - string
          - 'null'
          x-go-name: Description
        encryptionKey:
          description: 'Specifies the encryption key used for encrypting the replication data

            from a local Cluster to a remote Cluster.

            If a key is not specified, replication traffic encryption is disabled.

            When Snapshots are replicated from a local Cluster to a remote Cluster,

            the encryption key specified on the local Cluster must be the same

            as the key specified on the remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: EncryptionKey
        name:
          description: 'Specifies the name of the remote cluster. This field is determined

            dynamically by contacting the remote cluster.'
          type:
          - string
          - 'null'
          x-go-name: Name
        networkInterface:
          description: 'Specifies the name of the network interfaces to use for communicating with

            the remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: NetworkInterface
        password:
          description: 'Specifies the password for Cohesity user to use when

            connecting to the remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: Password
        purposeRemoteAccess:
          description: Whether the remote cluster will be used for remote access for SPOG.
          type:
          - boolean
          - 'null'
          x-go-name: PurposeRemoteAccess
        purposeReplication:
          description: Whether the remote cluster will be used for replication.
          type:
          - boolean
          - 'null'
          x-go-name: PurposeReplication
        remoteAccessCredentials:
          description: 'Optional field for the user credentials to connect to Iris for remote

            access for SPOG. If this is not specified, then credentials specified

            for replication set up will be used for remote access for SPOG.

            Allowing a different user credentials to be set up for SPOG permits

            having different roles for remote access for SPOG and replication set

            up.'
          $ref: '#/components/schemas/AccessTokenCredential'
        remoteIps:
          description: 'Array of Remote Node IP Addresses.


            Specifies the IP addresses of the Nodes on the remote Cluster to

            connect with. These IP addresses can also be VIPS.

            Specifying hostnames is not supported.'
          type:
          - array
          - 'null'
          items:
            type: string
          x-go-name: RemoteIps
        remoteIrisPorts:
          description: 'Array of Ports.


            Specifies the ports to use when connecting to the Nodes of the

            remote Cluster.'
          type:
          - array
          - 'null'
          items:
            type: integer
            format: int64
          x-go-name: RemoteIrisPorts
        userName:
          description: 'Specifies the Cohesity user name used to connect to the

            remote Cluster.'
          type:
          - string
          - 'null'
          x-go-name: UserName
        validateOnly:
          description: Whether to only validate the credentials without saving the information.
          type:
          - boolean
          - 'null'
          x-go-name: ValidateOnly
        viewBoxPairInfo:
          description: 'Array of Storage Domain (View Box) Pairs.


            Specifies pairings between Storage Domains (View Boxes) on the local Cluster

            with Storage Domains (View Boxes) on a remote Cluster that are used in

            replication.'
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ViewBoxPairInfo'
          x-go-name: ViewBoxPairInfoList
      x-go-package: cohesity/iris/server/data/public
    TimeOfAWeek:
      description: 'Specifies a time period by specifying a single daily time period

        and one or more days of the week, for example 9 AM - 5 PM

        on Monday, Wednesday or Friday. If different time periods are required

        on different days, then multiple instances of this Weekly Time Period

        must be specified.'
      type: object
      title: Time Period.
      properties:
        days:
          description: 'Array of Week Days.


            Specifies a list of days of a week (such as ''kSunday'') when the

            time period should be applied.

            If not set, the time range applies to all days of the week.

            Specifies a day in a week such as ''kSunday'', ''kMonday'', etc.'
          type:
          - array
          - 'null'
          items:
            type: string
            enum:
            - kSunday
            - kMonday
            - kTuesday
            - kWednesday
            - kThursday
            - kFriday
            - kSaturday
          x-go-name: Days
        endTime:
          description: Specifies the end time for the daily time period.
          title: End Time.
          allOf:
          - $ref: '#/components/schemas/TimeOfDay'
        isAllDay:
          description: 'All Day.


            Specifies that time range is applied for entire day.'
          type:
          - boolean
          - 'null'
          x-go-name: IsAllDay
        startTime:
          description: Specifies the start time for the daily time period.
          title: Start Time.
          allOf:
          - $ref: '#/components/schemas/TimeOfDay'
      x-go-package: cohesity/iris/server/data/public