Cohesity DataProtect REST API

The DataProtect REST API is the per-cluster RESTful interface exposed by every Cohesity cluster, providing programmatic control over data management operations including backups, restores, replication, archival, cloud tiering, and storage domain management. Authentication is performed via API keys for automation users or username/password for interactive sessions.

Operations 379

Showing the first 250 of 379. The full set is in the contract, and via get_provider_operations.

POST /public/accessTokens Generate an Access Token. #
GET /public/activeDirectory Lists the Active Directories that the Cohesity Cluster has joined. #
POST /public/activeDirectory Join the Cohesity Cluster to the specified Active Directory. #
DELETE /public/activeDirectory Deletes the join with the Active Directory. #
GET /public/activeDirectory/centrifyZones Fetches the list centrify zones of an active directory domain. #
GET /public/activeDirectory/domainControllers List the domain controllers for a domain. #
GET /public/activeDirectory/principals List the user and group principals in the Active Directory that match the filter criteria specified using parameters. #
POST /public/activeDirectory/principals Add multiple groups or users on the Cohesity Cluster for the specified Active Directory principals. In addition, assign Cohesity roles to the users or groups to define their Cohesi #
POST /public/activeDirectory/{name}/enableTrustedDomainState Updates the states of trusted domains discovery. #
PUT /public/activeDirectory/{name}/idMappingInfo Updates the user id mapping info of an Active Directory. #
PUT /public/activeDirectory/{name}/ignoredTrustedDomains Updates the list of trusted domains to be ignored during trusted domain discovery of an Active Directory. #
PUT /public/activeDirectory/{name}/ldapProvider Updates the LDAP provide Id for an Active Directory domain. #
POST /public/activeDirectory/{name}/machineAccounts Updates the machine accounts of an Active Directory. #
PUT /public/activeDirectory/{name}/preferredDomainControllers #
GET /public/alertCategories Get alert categories in the Cohesity cluster. #
GET /public/alertNotificationRules Gets all alert notification rules. #
PUT /public/alertNotificationRules Updates an existing alert notification rule. #
POST /public/alertNotificationRules Creates a new alert notification rule. #
DELETE /public/alertNotificationRules/{ruleId} Deletes an alert notification rule. #
GET /public/alertResolutions List the Alert Resolutions on the Cohesity Cluster. #
POST /public/alertResolutions Create an Alert Resolution. #
GET /public/alertResolutions/{id} List details about a single Alert Resolution. #
PUT /public/alertResolutions/{id} Apply an existing Alert Resolution to additional Alerts. #
GET /public/alertTypes Get registered alerts in the Cohesity cluster. #
GET /public/alerts List the Alerts on the Cohesity Cluster. #
GET /public/alerts/{id} List details about a single Alert. #
POST /public/analytics/analyzeJar Analyze the uploaded jar. #
GET /public/analytics/apps List Applications filtered by the specified parameters. #
POST /public/analytics/apps Create an Application. #
GET /public/analytics/apps/{id} List details about a single Application. #
PUT /public/analytics/apps/{id} Update an Application. #
DELETE /public/analytics/apps/{id} Delete an Application. #
PUT /public/analytics/cancelAppInstanceRun/{id} Cancel a specific map reduce instance run. #
GET /public/analytics/mappers List Mappers filtered by the specified parameters. #
POST /public/analytics/mappers Create a Mapper. #
GET /public/analytics/mappers/{id} List details about a single Mapper. #
PUT /public/analytics/mappers/{id} Update a Mapper. #
DELETE /public/analytics/mappers/{id} Delete a Mapper. #
DELETE /public/analytics/mrAppRun/{id} Delete a Map-Reduce Application Instance Run. #
GET /public/analytics/mrAppRuns List map reduce application runs filtered by the specified parameters. #
GET /public/analytics/mrBaseJar Downloads the map reduce base jar. #
GET /public/analytics/mrFileFormats Used to retrieve supported output file formats from a map reduce instance. #
GET /public/analytics/mrOutputfiles Download map reduce base instance run output files from Yoda. #
GET /public/analytics/reducers List Reducers filtered by the specified parameters. #
POST /public/analytics/reducers Create a Reducer. #
GET /public/analytics/reducers/{id} List details about a single Reducer. #
PUT /public/analytics/reducers/{id} Update a Reducer. #
DELETE /public/analytics/reducers/{id} Delete a Reducer. #
PUT /public/analytics/runAppInstance Run a map-reduce application instance. #
GET /public/analytics/supportedPatterns Used to retrieve supported patterns available for search in an application. #
PUT /public/analytics/supportedPatterns Used to save user patterns for search in an application. #
POST /public/analytics/uploadJar Upload a jar to pre-specified Yoda internal view. #
DELETE /public/analytics/uploadJar Delete the uploaded jar from temporary location. #
GET /public/analytics/uploadJarPath Get details about the mounted path to upload Jars. #
GET /public/antivirusGroups Lists the antivirus service groups. #
PUT /public/antivirusGroups Update an antivirus service group. #
POST /public/antivirusGroups Create an Antivirus service group. #
PUT /public/antivirusGroups/states Change the state of an antivirus service group. #
DELETE /public/antivirusGroups/{id} Delete an antivirus service group corresponding to the specified antivirus service group Id. #
PUT /public/appInstanceSettings/{appInstanceId} Updates app instance settings. #
GET /public/appInstances Lists the app instances. #
POST /public/appInstances Starts the application instance launch on the cluster. #
PUT /public/appInstances/{appInstanceId}/states Updates app instance state. #
GET /public/apps Lists the apps. #
POST /public/apps Upload and install an app from image. #
POST /public/apps/{appUid}/versions/{version} Starts the application installation on the cluster. #
DELETE /public/apps/{appUid}/versions/{version} Starts the application uninstall from the cluster. #
GET /public/auditLogs/actions Return list of audit log actions. #
GET /public/auditLogs/categories Return list of audit log categories. #
GET /public/auditLogs/cluster Lists the cluster audit logs on the Cohesity Cluster that match the filter criteria specified using parameters. #
GET /public/banners List the banner for a persona. #
PUT /public/banners Update an existing banner on the Cohesity Cluster. #
GET /public/basicClusterInfo List details about the Cohesity Cluster such as the name, type, version, language, locale and domains. This operation does not require authentication. #
GET /public/certificates/global List the certificates generated and deployed on hosts. #
POST /public/certificates/global Generate and deploy certificate for a single or multiple hosts. #
GET /public/certificates/webServer Get the Server Certificate configured on the Cluster. #
PUT /public/certificates/webServer Update the Web Server Certificate on the Cluster. #
DELETE /public/certificates/webServer Delete the SSL Certificate in the Cluster. #
GET /public/cluster List details about this Cohesity Cluster. #
PUT /public/cluster Update the configuration of this Cohesity Cluster. #
GET /public/cluster/appSettings Gets the app settings for the cluster. #
PUT /public/cluster/appSettings Update the app settings of the cluster. #
GET /public/cluster/backgroundActivitySchedule Get the Apollo Throttling schedule. #
PUT /public/cluster/backgroundActivitySchedule Update the Apollo Throttling schedule. #
GET /public/cluster/keys List the Public Keys for the cluster. #
GET /public/cluster/status Get the status of a Cohesity Cluster. #
GET /public/clusterPartitions List Cluster Partitions filtered by the specified parameters. #
GET /public/clusterPartitions/{id} List details about a single Cluster Partition. #
DELETE /public/clusters Destroy a Cohesity Cluster. #
POST /public/clusters/cloudEdition Create a new Cloud Edition Cohesity Cluster. #
POST /public/clusters/cloudEdition/nodes Expand a Cloud Edition Cohesity Cluster. #
GET /public/clusters/creationProgress Check the progress of the creation of a new Cohesity Cluster. #
GET /public/clusters/ioPreferentialTier Return the IO preferential tiers of the cluster. #
PUT /public/clusters/ioPreferentialTier Update the IO preferential tiers and return the updated IO preferential tiers of the cluster. #
DELETE /public/clusters/nodes/{id} Remove a Node from a Cohesity Cluster. #
POST /public/clusters/physicalEdition Create a new Physical Edition Cohesity Cluster. #
POST /public/clusters/physicalEdition/nodes Expand a Physical Edition Cohesity Cluster. #
GET /public/clusters/services/states List the states of the services on the Cluster. #
POST /public/clusters/services/states Change the state of one or more services on a Cohesity Cluster. #
PUT /public/clusters/software Upgrade a Cohesity Cluster. #
POST /public/clusters/virtualEdition Create a new Virtual Edition Cohesity Cluster. #
GET /public/dashboard Returns the dashboard that match the filter criteria specified using parameters. #
GET /public/externalClientSubnets List the external Client Subnets for the cluster. #
PUT /public/externalClientSubnets Update the external Client Subnet of the Cluster. #
GET /public/freeNodes List the free Nodes present on a network. #
GET /public/groups List the groups that match the filter criteria specified using parameters. #
PUT /public/groups Update an existing group on the Cohesity Cluster. Only group settings on the Cohesity Cluster are updated. No changes are made to the referenced group principal on the Active Direc #
POST /public/groups Create or add a new group to the Cohesity Cluster. #
DELETE /public/groups Delete one or more groups on the Cohesity Cluster. #
GET /public/icapConnectionStatus Check the Icap server connection status. #
POST /public/idp/principals Add multiple groups or users on the Cohesity Cluster for the specified Idp principals. In addition, assign Cohesity roles to the users or groups to define their Cohesity privileges #
GET /public/idps List the IdPs configured on the Cluster. #
POST /public/idps Create an IdP configuration. #
GET /public/idps/login Login to Cohesity Cluster using an IdP. #
PUT /public/idps/{id} Update an IdP configuration. #
DELETE /public/idps/{id} Delete one IdP configuration. #
GET /public/infectedFiles Lists the infected files. #
PUT /public/infectedFiles Update the list of infected files. #
DELETE /public/infectedFiles Delete the list of infected files. #
GET /public/interface Show network interfaces. #
PUT /public/interface Update an interface. #
GET /public/interfaceGroups List the interface groups for the Cohesity Cluster. #
PUT /public/interfaceGroups Update an interface group on the Cohesity Cluster. #
POST /public/interfaceGroups Create an interface group on the Cohesity Cluster. #
DELETE /public/interfaceGroups/{name} Delete the specified interface group from the Cohesity Cluster. #
PUT /public/ip Configure the specfied IP settings on the Cohesity Cluster. #
DELETE /public/ip Delete the specified IP settings on the Cohesity Cluster. #
GET /public/kmsConfig List KMS configurations in the cluster. #
PUT /public/kmsConfig Update KMS configurations in the cluster. #
POST /public/kmsConfig Create a KMS config. #
GET /public/ldapProvider Lists the LDAP providers. #
PUT /public/ldapProvider Update an LDAP provider. #
POST /public/ldapProvider Create a LDAP provider. #
DELETE /public/ldapProvider/{id} Delete an LDAP provider. #
GET /public/ldapProvider/{id}/status Get the connection status of an LDAP provider. #
GET /public/licenseUsage Get the current license usage of a Cohesity Cluster. #
GET /public/monitoring/jobRunInfo List info related to a job run. #
GET /public/monitoring/jobs List runs of all the jobs. #
GET /public/monitoring/objectDetails List details of objects in a job run. #
POST /public/network/bonds Create a new network bond. #
DELETE /public/network/bonds/{name} Delete a network bond. #
GET /public/network/hosts Get the current entries in the hosts file on the Cluster. #
PUT /public/network/hosts Edit entries in the Cluster's /etc/hosts file. #
POST /public/network/hosts Add new entries to the /etc/hosts file. #
DELETE /public/network/hosts Remove entries from the /etc/hosts file. #
GET /public/nlmLocks List the NLM locks that match the filter criteria specified using parameters. #
DELETE /public/nlmLocks Clear NLM locks that match the filter criteria specified using parameters. #
GET /public/node/status Sends a request to a Node to get the status of that node. #
GET /public/nodes List Nodes of the cluster. #
PUT /public/nodes/software Upgrade the software on a Node. #
GET /public/nodes/{id} List details about a single node. #
GET /public/packages List all currently installed packages on a Cohesity Cluster. #
POST /public/packages/url Download a package to the Cluster by providing a URL where the package is hosted. #
GET /public/physicalAgents/download Download the physical agent for a host type. #
POST /public/physicalAgents/upgrade Initiate a request to upgrade Cohesity agents on one or more Physical Servers registered on the Cohesity Cluster. #
GET /public/postgres List the postgres database running nodes on the cohesity cluster. #
GET /public/principals/protectionSources Returns the Protection Sources objects and View names that the principals have permissions to access. #
PUT /public/principals/protectionSources Set the Protection Sources and Views that the specified principal has permissions to access. #
GET /public/principals/searchPrincipals List the user and group principals that match the filter criteria specified using parameters. #
GET /public/privileges List the privileges defined on the Cohesity Cluster. #
POST /public/protectionJobState/{id} Pause future Runs or resume future Runs of the specified Protection Job. #
GET /public/protectionJobs List Protections Jobs filtered by the specified parameters. #
POST /public/protectionJobs Create a Protection Job. #
POST /public/protectionJobs/run/{id} Immediately execute a single Protection Job Run. #
POST /public/protectionJobs/states Perform an action like pause, resume, activate, deactivate on all the specified Protection Jobs. #
GET /public/protectionJobs/{id} List details about single Protection Job. #
PUT /public/protectionJobs/{id} Update a Protection Job. #
DELETE /public/protectionJobs/{id} Delete a Protection Job. #
GET /public/protectionJobs/{id}/auditTrail List a protection job audit. #
PUT /public/protectionObjects Update a Protected Object. #
POST /public/protectionObjects Protect an Object. #
DELETE /public/protectionObjects Unprotect a Protected Object. #
GET /public/protectionObjects/summary Protect an Object. #
GET /public/protectionPolicies List Protection Policies filtered by some parameters. #
POST /public/protectionPolicies Create a Protection Policy. #
GET /public/protectionPolicies/{id} List details about a single Protection Policy. #
PUT /public/protectionPolicies/{id} Update a Protection Policy. #
DELETE /public/protectionPolicies/{id} Delete a Protection Policy. #
GET /public/protectionPolicySummary List Protection Policy Summary. #
GET /public/protectionRuns List Protection Job Runs filtered by the specified parameters. #
PUT /public/protectionRuns Update how long Protection Job Runs and their snapshots are retained on the Cohesity Cluster. #
POST /public/protectionRuns/cancel/{id} Cancel a Protection Job run. #
GET /public/protectionRuns/errors List Protection Job Run Errors filtered by the specified parameters. #
GET /public/protectionSources Returns the registered Protection Sources and their Object subtrees. #
GET /public/protectionSources/applicationServers Returns the registered Application Servers and their Object subtrees. #
PUT /public/protectionSources/applicationServers Modifies the registration parameters of Application Servers in a Protection Source. #
POST /public/protectionSources/applicationServers Register a Protection Source as running one or more Application Servers like Microsoft SQL servers or Microsoft Exchange servers. #
DELETE /public/protectionSources/applicationServers/{id} Unregister Application Servers like Microsoft SQL servers or Microsoft Exchange servers running on a Protection Source. #
GET /public/protectionSources/datastores Returns the datastore information in VMware environment. #
POST /public/protectionSources/diagnostics/{id} Collect diagnostics of the protection source for a host type. #
GET /public/protectionSources/downloadCftFile Download the CFT. #
GET /public/protectionSources/exchangeDagHosts #
GET /public/protectionSources/objects List details about Protection Source objects. #
GET /public/protectionSources/objects/{id} Get details about a single Protection Source Object. #
GET /public/protectionSources/protectedObjects Returns the list of protected Objects in a registered Protection Source. #
POST /public/protectionSources/refresh/{id} Refresh the Object hierarchy of the Protection Sources tree. #
POST /public/protectionSources/register Register a Protection Source. #
GET /public/protectionSources/registrationInfo #
GET /public/protectionSources/rootNodes Returns the top level (root) Protection Sources with registration information. #
GET /public/protectionSources/sqlAagHostsAndDatabases Returns the registered Protection Sources and their Object subtrees. #
GET /public/protectionSources/virtualMachines Returns the Virtual Machines in a vCenter Server. #
DELETE /public/protectionSources/{id} Unregister a previously registered Protection Source. #
PATCH /public/protectionSources/{id} Update a previously registered Protection Source with new details. #
GET /public/qosPolicies Fetches QoS Policies of a view. #
GET /public/remoteClusters List the remote Cohesity Clusters that are registered on this local Cohesity Cluster that match the filter criteria specified using parameters. #
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. #
PUT /public/remoteVaults/encryptionKeys/{id} Upload the encryption keys required to restore data from a remote Vault. (CloudRetrieve) #
GET /public/remoteVaults/restoreTasks List the remote Vault restore tasks that have completed or are running on this Cohesity Cluster. (CloudRetrieve) #
POST /public/remoteVaults/restoreTasks Create a remote Vault restore task. (CloudRetrieve) #
GET /public/remoteVaults/searchJobResults List details about the Job Runs of Protection Jobs found by a single search of a remote Vault. (CloudRetrieve) #
GET /public/remoteVaults/searchJobs List all the searches of remote Vaults. (CloudRetrieve) #
POST /public/remoteVaults/searchJobs Create a search of a remote Vault. (CloudRetrieve) #
DELETE /public/remoteVaults/searchJobs Stop a search of a remote Vault (External Target). (CloudRetrieve) #
GET /public/remoteVaults/searchJobs/{id} List details about a single search Job of a remote Vault. (CloudRetrieve) #
GET /public/replicationEncryptionKey Get the encryption key on this Cluster. #
GET /public/reports/agents #
GET /public/reports/dataTransferFromVaults Get summary statistics about transferring data from Vaults (External Targets) to this Cohesity Cluster. #
GET /public/reports/dataTransferToVaults Get summary statistics about transferring data from the Cohesity Cluster to Vaults (External Targets). #
GET /public/reports/gdpr Get gdpr report related information. #
GET /public/reports/protectedObjectsTrends Get protected objects trends grouped by days/weeks/months. #
GET /public/reports/protectionSourcesJobRuns Get protection details about the specified list of leaf Protection Source Objects (such as a VMs). #
GET /public/reports/protectionSourcesJobsSummary Get Job Run (Snapshot) summary statistics about the leaf Protection Sources Objects that match the specified filter criteria. #
GET /public/restore/adDomainRootTopology Gets Root Topology for an AD Domain. #
POST /public/restore/adObjectAttributes Compares the AD Object from both Snapshot and Production AD and returns the attributes with status whether they differ or not. #
GET /public/restore/adObjects Searches for AD Objects in both Production and Snapshot AD from given search base dn and offset. #
POST /public/restore/adObjects Searches for AD Objects that match the list of object guids, sam account names and distinguished names provided in the request. #
GET /public/restore/adObjects/searchResults #
GET /public/restore/adObjects/status #
POST /public/restore/applicationsClone Create a Restore Task for cloning Applications like SQL Databases. #
POST /public/restore/applicationsClone/refresh Create a Clone Refresh Task to refresh the clone with the new data. #
POST /public/restore/applicationsRecover Create a Restore Task for recovering Applications like SQL Databases. #
POST /public/restore/clone Create a Restore Task for cloning VMs or a View. #
DELETE /public/restore/clone/{id} Destroy a clone task with specified id. #
POST /public/restore/deploy Create a Restore Task for deploying VMs or a View on cloud. #
POST /public/restore/downloadFilesAndFolders Create a Download Task for downloading files and folders. #
GET /public/restore/files Search for files and folders to recover that match the specified search and filter criteria on the Cohesity Cluster. #
POST /public/restore/files Create a Restore Task for recovering files and folders. #
GET /public/restore/files/fstats Get the fstat information about file provided using query parameters. #
GET /public/restore/files/snapshotsInformation Get the information about snapshots that contain the specified file or folder. In addition, information about the file or folder is provided. #
GET /public/restore/objects Find backup objects that match the specified search and filter criteria on the Cohesity Cluster. #
GET /public/restore/office365/onedrive/documents Returns the OneDrive files and folders. #
GET /public/restore/office365/outlook/emails Returns the Outlook emails and folders containing emails. #
GET /public/restore/office365/sharepoint/documents Returns the Sharepoint Site's files and folders. #
POST /public/restore/pointsForTimeRange List Restore Points in a give time range. #
PUT /public/restore/recover #
POST /public/restore/recover Create a Restore Task for recovering VMs or instantly mounting volumes. #
GET /public/restore/tasks List the Restore Tasks filtered by the specified parameters. #

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/dataprotect-rest-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-cluster-v1-openapi.yml Raw ↑
consumes:
- application/json
produces:
- application/json
schemes:
- https
swagger: "2.0"
info:
  description: |-
    This API list provides operations for interfacing with the Cohesity
    Cluster.
  title: Cohesity REST API
  version: "1.0"
host: <CLUSTER_VIP>
basePath: /irisservices/api/v1
paths:
  /public/accessTokens:
    post:
      description: |-
        Before making other REST API requests, your REST client must make a
        'POST /public/accessToken' request with a valid Cohesity username and
        password. This POST request returns an access token and type
        in the response that is generated by the Cohesity Cluster.
        Subsequent requests to other Cohesity REST API operations must
        specify the returned access token and type by setting 'Authorization'
        in the http header in the following format:

        Authorization: token_type access_token

        The generated token is valid for 24 hours. If a request is made with
        an expired token, the 'Token expired' error message is returned.
        Add code to your REST client to check for this error and request
        another access token before reissuing the request.
      tags:
      - AccessTokens
      summary: Generate an Access Token.
      operationId: GenerateAccessToken
      parameters:
      - x-go-name: Body
        description: Request to generate access token.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/AccessTokenCredential'
      responses:
        "201":
          $ref: '#/responses/GenerateAccessTokenResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory:
    get:
      description: |-
        After a Cohesity Cluster has been joined to an Active Directory domain,
        the users and groups in the domain can be authenticated on the Cohesity Cluster
        using their Active Directory credentials.

        NOTE: The userName and password fields are not populated by this operation.
      tags:
      - ActiveDirectory
      summary: Lists the Active Directories that the Cohesity Cluster has joined.
      operationId: GetActiveDirectoryEntry
      parameters:
      - type: array
        items:
          type: string
        x-go-name: Domains
        description: Specifies the domains to fetch active directory entries.
        name: domains
        in: query
      - type: array
        items:
          type: string
        x-go-name: TenantIds
        description: |-
          TenantIds contains ids of the tenants for which objects are to be
          returned.
        name: tenantIds
        in: query
      - type: boolean
        x-go-name: AllUnderHierarchy
        description: |-
          AllUnderHierarchy specifies if objects of all the tenants under the
          hierarchy of the logged in user's organization should be returned.
        name: allUnderHierarchy
        in: query
      responses:
        "200":
          $ref: '#/responses/GetActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
    post:
      description: |-
        After a Cohesity Cluster has been joined to an Active Directory domain,
        the users and groups in the domain can be authenticated on the Cohesity Cluster
        using their Active Directory credentials.
      tags:
      - ActiveDirectory
      summary: Join the Cohesity Cluster to the specified Active Directory.
      operationId: CreateActiveDirectoryEntry
      parameters:
      - x-go-name: Body
        description: Request to join an Active Directory.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/CreateActiveDirectoryEntryParams'
      responses:
        "201":
          $ref: '#/responses/CreateActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
    delete:
      description: |-
        Deletes the join of the Cohesity Cluster to the specified
        Active Directory domain. After the deletion, the Cohesity Cluster
        no longer has access to the principals on the Active Directory.
        For example, you can no longer log in to the Cohesity Cluster
        with a user defined in a principal group of the Active Directory domain.
      tags:
      - ActiveDirectory
      summary: Deletes the join with the Active Directory.
      operationId: DeleteActiveDirectoryEntry
      parameters:
      - x-go-name: Body
        description: Request to delete a join with an Active Directory.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/ActiveDirectoryEntry'
      responses:
        "204":
          $ref: '#/responses/NoContentResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/centrifyZones:
    get:
      tags:
      - ActiveDirectory
      summary: Fetches the list centrify zones of an active directory domain.
      operationId: ListCentrifyZones
      parameters:
      - type: string
        x-go-name: DomainName
        description: Specifies the fully qualified domain name (FQDN) of an Active
          Directory.
        name: domainName
        in: query
      responses:
        "200":
          $ref: '#/responses/ListCentrifyZonesResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/domainControllers:
    get:
      tags:
      - ActiveDirectory
      summary: List the domain controllers for a domain.
      operationId: GetActiveDirectoryDomainControllers
      parameters:
      - type: string
        x-go-name: DomainName
        description: Specifies the domain name
        name: domainName
        in: query
      responses:
        "200":
          $ref: '#/responses/ListDomainControllersResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/principals:
    get:
      description: |-
        Optionally limit the search results by specifying security identifiers (SIDs),
        an object class (user or group) or a substring.
        You can specify SIDs or a substring but not both.
      tags:
      - ActiveDirectory
      summary: |-
        List the user and group principals in the Active Directory that match the
        filter criteria specified using parameters.
      operationId: SearchActiveDirectoryPrincipals
      parameters:
      - type: string
        x-go-name: Domain
        description: |-
          Specifies the domain name of the principals to search. If specified
          the principals in that domain are searched. Domain could be an
          Active Directory domain joined by the Cluster or any one of the
          trusted domains of the Active Directory domain or the LOCAL domain.
          If not specified, all the domains are searched.
        name: domain
        in: query
      - enum:
        - kUser
        - kGroup
        - kComputer
        - kWellKnownPrincipal
        type: string
        x-go-name: ObjectClass
        description: |-
          Optionally filter by a principal object class such as 'kGroup' or 'kUser'.
          If 'kGroup' is specified, only group principals are returned.
          If 'kUser' is specified, only user principals are returned.
          If not specified, both group and user principals are returned.
          'kUser' specifies a user object class.
          'kGroup' specifies a group object class.
          'kComputer' specifies a computer object class.
          'kWellKnownPrincipal' specifies a well known principal.
        name: objectClass
        in: query
      - type: string
        x-go-name: Search
        description: |-
          Optionally filter by matching a substring. Only principals in
          the with a name or sAMAccountName that matches
          part or all of the specified substring are returned.
          If specified, a 'sids' parameter should not be specified.
        name: search
        in: query
      - type: array
        items:
          type: string
        x-go-name: Sids
        description: |-
          Optionally filter by a list of security identifiers (SIDs) found
          in the specified domain. Only principals matching
          the specified SIDs are returned.
          If specified, a 'search' parameter should not be specified.
        name: sids
        in: query
      - type: boolean
        x-go-name: IncludeComputers
        description: Specifies if Computer/GMSA accounts need to be included in this
          search.
        name: includeComputers
        in: query
      responses:
        "200":
          $ref: '#/responses/SearchActiveDirectoryPrincipalsResponse'
        default:
          $ref: '#/responses/Error'
    post:
      description: |-
        After a group or user has been added to a Cohesity Cluster,
        the referenced Active Directory principal can be used by the Cohesity Cluster.
        In addition, this operation maps Cohesity roles with a group or user and
        this mapping defines the privileges allowed on the Cohesity Cluster for the
        group or user.
        For example if an 'management' group is created on the Cohesity Cluster
        for the Active Directory 'management' principal group and is
        associated with the Cohesity 'View' role, all users in the
        referenced Active Directory 'management' principal group can log in to the
        Cohesity Dashboard but will only have view-only privileges.
        These users cannot create new Protection Jobs, Policies, Views, etc.

        NOTE: Local Cohesity users and groups cannot be created by this operation.
        Local Cohesity users or groups do not have an associated Active Directory
        principals and are created directly in the default LOCAL domain.
      tags:
      - ActiveDirectory
      summary: |-
        Add multiple groups or users on the Cohesity Cluster for the specified
        Active Directory principals. In addition, assign Cohesity roles to the
        users or groups to define their Cohesity privileges.
      operationId: AddActiveDirectoryPrincipals
      parameters:
      - x-go-name: Body
        description: Request to add groups or users to the Cohesity Cluster.
        name: body
        in: body
        schema:
          type: array
          items:
            $ref: '#/definitions/ActiveDirectoryPrincipalsAddParameters'
      responses:
        "201":
          $ref: '#/responses/AddActiveDirectoryPrincipalsResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/{name}/enableTrustedDomainState:
    post:
      tags:
      - ActiveDirectory
      summary: Updates the states of trusted domains discovery.
      operationId: EnableTrustedDomainDiscovery
      parameters:
      - x-go-name: Body
        description: Request to update enable trusted domains state of an Active Directory.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UpdateTrustedDomainEnableParams'
      - type: string
        x-go-name: Name
        description: Specifies the Active Directory Domain Name.
        name: name
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/UpdateActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/{name}/idMappingInfo:
    put:
      tags:
      - ActiveDirectory
      summary: Updates the user id mapping info of an Active Directory.
      operationId: UpdateActiveDirectoryIdMapping
      parameters:
      - x-go-name: Body
        description: Request to update user id mapping of an Active Directory.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IdMappingInfo'
      - type: string
        x-go-name: Name
        description: Specifies the Active Directory Domain Name.
        name: name
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/UpdateActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/{name}/ignoredTrustedDomains:
    put:
      tags:
      - ActiveDirectory
      summary: Updates the list of trusted domains to be ignored during trusted domain
        discovery of an Active Directory.
      operationId: UpdateActiveDirectoryIgnoredTrustedDomains
      parameters:
      - x-go-name: Body
        description: Request to update the list of ignored trusted domains of an AD.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UpdateIgnoredTrustedDomainsParams'
      - type: string
        x-go-name: Name
        description: Specifies the Active Directory Domain Name.
        name: name
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/UpdateActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/{name}/ldapProvider:
    put:
      tags:
      - ActiveDirectory
      summary: Updates the LDAP provide Id for an Active Directory domain.
      operationId: UpdateActiveDirectoryLdapProvider
      parameters:
      - x-go-name: Body
        description: Request to update the LDAP provider info.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UpdateLdapProviderParams'
      - type: string
        x-go-name: Name
        description: Specifies the Active Directory Domain Name.
        name: name
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/UpdateActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/{name}/machineAccounts:
    post:
      tags:
      - ActiveDirectory
      summary: Updates the machine accounts of an Active Directory.
      operationId: UpdateActiveDirectoryMachineAccounts
      parameters:
      - x-go-name: Body
        description: Request to update machine accounts of an Active Directory.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UpdateMachineAccountsParams'
      - type: string
        x-go-name: Name
        description: Specifies the Active Directory Domain Name.
        name: name
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/UpdateActiveDirectoryMachineAccountsResponse'
        default:
          $ref: '#/responses/Error'
  /public/activeDirectory/{name}/preferredDomainControllers:
    put:
      description: Updates the preferred domain controllers of an Active Directory
      tags:
      - ActiveDirectory
      operationId: UpdatePreferredDomainControllers
      parameters:
      - x-go-name: Body
        description: Request to update preferred domain controllers of an Active Directory.
        name: body
        in: body
        required: true
        schema:
          type: array
          items:
            $ref: '#/definitions/PreferredDomainController'
      - type: string
        x-go-name: Name
        description: Specifies the Active Directory Domain Name.
        name: name
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/UpdateActiveDirectoryResponse'
        default:
          $ref: '#/responses/Error'
  /public/alertCategories:
    get:
      description: Returns alert categories in Cohesity cluster.
      tags:
      - Alerts
      summary: Get alert categories in the Cohesity cluster.
      operationId: GetAlertCategories
      responses:
        "200":
          $ref: '#/responses/GetAlertCategoriesResponse'
        default:
          $ref: '#/responses/Error'
  /public/alertNotificationRules:
    get:
      description: |-
        Gets all alert notification rules containing criteria to deliver notification
        to delivery targets such as email addresses, invoking external apis etc.
      tags:
      - Alerts
      summary: Gets all alert notification rules.
      operationId: GetNotificationRules
      responses:
        "200":
          $ref: '#/responses/GetNotificationRulesResponse'
        default:
          $ref: '#/responses/Error'
    put:
      description: |-
        Updates delivery targets such as email addresses and external apis in an
        existing notification rule.
      tags:
      - Alerts
      summary: Updates an existing alert notification rule.
      operationId: UpdateNotificationRule
      responses:
        "200":
          $ref: '#/responses/UpdateNotificationRulesResponse'
        default:
          $ref: '#/responses/Error'
    post:
      description: |-
        Creates a new notification rule with provided delivery targets such as email
        addresses and external apis.
      tags:
      - Alerts
      summary: Creates a new alert notification rule.
      operationId: CreateNotificationRule
      parameters:
      - x-go-name: Body
        description: Create Notification Rule argument.
        name: body
        in: body
        schema:
          $ref: '#/definitions/NotificationRule'
      responses:
        "201":
          $ref: '#/responses/CreateNotificationRulesResponse'
        default:
          $ref: '#/responses/Error'
  /public/alertNotificationRules/{ruleId}:
    delete:
      description: Deletes an existing alert notification rule matching the rule id.
      tags:
      - Alerts
      summary: Deletes an alert notification rule.
      operationId: DeleteNotificationRule
      parameters:
      - type: integer
        format: int64
        x-go-name: RuleId
        description: Specifies the rule id.
        name: ruleId
        in: path
        required: true
      responses:
        "204":
          $ref: '#/responses/NoContentResponse'
        default:
          $ref: '#/responses/Error'
  /public/alertResolutions:
    get:
      description: |-
        Returns all Alert Resolution objects found on the Cohesity Cluster
        that match the filter criteria specified using parameters.
        If no filter parameters are specified,
        all Alert Resolution objects are returned.
        Each object provides details about the Alert Resolution such as
        the resolution summary and details.
      tags:
      - Alerts
      summary: List the Alert Resolutions on the Cohesity Cluster.
      operationId: GetResolutions
      parameters:
      - type: array
        items:
          type: integer
          format: int64
        x-go-name: ResolutionIdList
        description: Specifies list of Alert Resolution ids to filter resolutions
          by.
        name: resolutionIdList
        in: query
      - type: array
        items:
          type: string
        x-go-name: AlertIdList
        description: Specifies list of Alert Resolution ids to filter resolutions
          by.
        name: alertIdList
        in: query
      - type: integer
        format: int64
        x-go-name: StartTimeUsecs
        description: Specifies Start Time Unix epoch in microseconds to filter resolutions
          by.
        name: startDateUsecs
        in: query
      - type: integer
        format: int64
        x-go-name: EndTimeUsecs
        description: Specifies End Time Unix epoch in microseconds to filter resolutions
          by.
        name: endDateUsecs
        in: query
      - type: integer
        format: int32
        x-go-name: MaxResolutions
        description: |-
          Specifies the number of returned Resolutions to be returned. The newest
          Resolutions are returned.
        name: maxResolutions
        in: query
        required: true
      - type: array
        items:
          type: string
        x-go-name: TenantIds
        description: |-
          TenantIds contains ids of the tenants for which objects are to be
          returned.
        name: tenantIds
        in: query
      - type: boolean
        x-go-name: AllUnderHierarchy
        description: |-
          AllUnderHierarchy specifies if objects of all the tenants under the
          hierarchy of the logged in user's organization should be returned.
        name: allUnderHierarchy
        in: query
      responses:
        "200":
          $ref: '#/responses/GetResolutionsResponse'
        default:
          $ref: '#/responses/Error'
    post:
      description: |-
        Create an Alert Resolution and apply it to one or more Alerts.
        Mark the Alerts as resolved.
      tags:
      - Alerts
      summary: Create an Alert Resolution.
      operationId: CreateResolution
      parameters:
      - x-go-name: Body
        description: Request to create an Alert Resolution and apply it to the specified
          Alerts.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/AlertResolutionRequest'
      responses:
        "201":
          $ref: '#/responses/CreateResolutionResponse'
        default:
          $ref: '#/responses/Error'
  /public/alertResolutions/{id}:
    get:
      description: |-
        Returns the Alert Resolution object corresponding to passed in Alert
        Resolution Id.
      tags:
      - Alerts
      summary: List details about a single Alert Resolution.
      operationId: GetResolutionById
      parameters:
      - type: integer
        format: int64
        x-go-name: Id
        description: Unique id of the Alert Resolution to return.
        name: id
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/GetResolutionByIdResponse'
        default:
          $ref: '#/responses/Error'
    put:
      description: |-
        Apply an existing Alert Resolution to one or more additional Alerts.
        Mark those additional Alerts as resolved.
      tags:
      - Alerts
      summary: Apply an existing Alert Resolution to additional Alerts.
      operationId: UpdateResolution
      parameters:
      - type: integer
        format: int64
        x-go-name: Id
        description: Unique id of the Alert Resolution to return.
        name: id
        in: path
        required: true
      - x-go-name: Body
        description: Request to apply an existing resolution to the specified Alerts.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UpdateResolutionParams'
      responses:
        "200":
          $ref: '#/responses/UpdateResolutionResponse'
        default:
          $ref: '#/responses/Error'
  /public/alertTypes:
    get:
      description: |-
        Returns registered alerts in the Cohesity cluster that match the filter
        criteria specified using parameters. If no filter parameters are specified,
        all registered alerts in the Cohesity cluster are returned.
      tags:
      - Alerts
      summary: Get registered alerts in the Cohesity cluster.
      operationId: GetAlertTypes
      parameters:
      - x-go-name: Body
        description: Get alert types params.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/GetAlertTypesParams'
      responses:
        "200":
          $ref: '#/responses/GetAlertTypesResponse'
        default:
          $ref: '#/responses/Error'
  /public/alerts:
    get:
      description: |-
        Returns all Alert objects found on the Cohesity Cluster that
        match the filter criteria specified using parameters.
        The Cohesity Cluster creates an Alert when a potential problem
        is found or when a threshold has been exceeded on the Cohesity Cluster.
        If no filter parameters are specified, all Alert objects are returned.
        Each object provides details about the Alert such as the Status and Severity.
      tags:
      - Alerts
      summary: List the Alerts on the Cohesity Cluster.
      operationId: GetAlerts
      parameters:
      - type: array
        items:
          type: string
        x-go-name: AlertIdList
        description: Specifies list of Alert ids to filter alerts by.
        name: alertIdList
        in: query
      - type: array
        items:
          type: integer
          format: int32
        x-go-name: AlertTypeList
        description: Specifies list of Alert Types to filter alerts by.
        name: alertTypeList
        in: query
      - type: array
        items:
          enum:
          - kDisk
          - kNode
          - kCluster
          - kNodeHealth
          - kClusterHealth
          - kBackupRestore
          - kEncryption
          - kArchivalRestore
          - kRemoteReplication
          - kQuota
          type: string
        x-go-name: AlertCategoryList
        description: Specifies list of Alert Categories.
        name: alertCategoryList
        in: query
      - type: string
        x-go-name: PropertyKey
        description: Specifies name of the property to filter alerts by.
        name: propertyKey
        in: query
      - type: string
        x-go-name: PropertyValue
        description: Specifies value of the property to filter alerts by.
        name: propertyValue
        in: query
      - type: integer
        format: int64
        x-go-name: StartTimeUsecs
        description: Specifies start time Unix epoch time in microseconds to filter
          alerts by.
        name: startDateUsecs
        in: query
      - type: integer
        format: int64
        x-go-name: EndTimeUsecs
        description: Specifies end time Unix epoch time in microseconds to filter
          alerts by.
        name: endDateUsecs
        in: query
      - type: array
        items:
          enum:
          - kOpen
          - kResolved
          - kAlertSuppressed
          type: string
        x-go-name: AlertStateList
        description: Specifies list of Alert States to filter alerts by.
        name: alertStateList
        in: query
      - type: array
        items:
          enum:
          - kCritical
          - kWarning
          - kInfo
          type: string
        x-go-name: AlertSeverityList
        description: Specifies list of Alert severity to filter alerts by.
        name: alertSeverityList
        in: query
      - type: array
        items:
          enum:
          - kSoftware
          - kHardware
          - kService
          - kOther
          type: string
        x-go-name: AlertTypeBucketList
        description: |-
          Specifies the list of Alert type bucket.
          Specifies the Alert type bucket.
          kSoftware - Alerts which are related to Cohesity services.
          kHardware - Alerts related to hardware on which Cohesity software is running.
          kService - Alerts related to other external services.
          kOther - Alerts not of one of above categories.
        name: alertTypeBucketList
        in: query
      - type: array
        items:
          type: integer
          format: int64
        x-go-name: ResolutionIdList
        description: Specifies alert resolution ids to filter alerts by.
        name: resolutionIdList
        in: query
      - type: integer
        format: int32
        x-go-name: MaxAlerts
        description: |-
          Specifies the number of returned Alerts to be returned. The newest Alerts
          are returned.
        name: maxAlerts
        in: query
        required: true
      - type: array
        items:
          type: string
        x-go-name: TenantIds
        description: |-
          TenantIds contains ids of the tenants for which objects are to be
          returned.
        name: tenantIds
        in: query
      - type: boolean
        x-go-name: AllUnderHierarchy
        description: |-
          AllUnderHierarchy specifies if objects of all the tenants under the
          hierarchy of the logged in user's organization should be returned.
        name: allUnderHierarchy
        in: query
      responses:
        "200":
          $ref: '#/responses/GetAlertsResponse'
        default:
          $ref: '#/responses/Error'
  /public/alerts/{id}:
    get:
      description: Returns the Alert object corresponding to the specified id.
      tags:
      - Alerts
      summary: List details about a single Alert.
      operationId: GetAlertById
      parameters:
      - type: string
        x-go-name: Id
        description: Unique id of the Alert to return.
        name: id
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/GetAlertByIdResponse'
        default:
          $ref: '#/responses/Error'
  /public/analytics/analyzeJar:
    post:
      description: Returns the result of the jar analysis.
      tags:
      - Analytics
      summary: Analyze the uploaded jar.
      operationId: AnalyzeJar
      parameters:
      - name: Body
        in: body
        schema:
          $ref: '#/definitions/AnalyseJarArg'
      responses:
        "200":
          $ref: '#/responses/AnalyzeJarResponse'
        default:
          $ref: '#/responses/Error'
  /public/analytics/apps:
    get:
      description: |-
        If no parameters are specified, all Applications currently on
        the Cohesity Cluster are returned.
        Specifying parameters filters the results that are returned.
      tags:
      - Analytics
      summary: List Applications filtered by the specified parameters.
      operationId: GetApplications
      responses:
        "200":
          $ref: '#/responses/GetApplicationsResponse'
        default:
          $ref: '#/responses/Error'
    post:
      description: Returns the created application.
      tags:
      - Analytics
      summary: Create an Application.
      operationId: CreateApplication
      parameters:
      - name: Body
        in: body
        schema:
          $ref: '#/definitions/MapReduceInfo'
      responses:
        "201":
          $ref: '#/responses/ApplicationResponse'
        default:
          $ref: '#/responses/Error'
  /public/analytics/apps/{id}:
    get:
      description: Returns the Application corresponding to the specified Application
        Id.
      tags:
      - Analytics
      summary: List details about a single Application.
      operationId: GetApplicationById
      parameters:
      - type: integer
        format: int64
        x-go-name: Id
        name: id
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/GetApplicationByIdResponse'
        default:
          $ref: '#/responses/Error'
    put:
      description: Returns the updated Application.
      tags:
      - Analytics
      summary: Update an Application.
      operationId: UpdateApplication
      parameters:
      - name: Body
        in: body
        schema:
          $ref: '#/definitions/MapReduceInfo'
      - type: integer
        format: int64
        x-go-name: Id
        name: id
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/ApplicationResponse'
        default:
          $ref: '#/responses/Error'
    delete:
      description: Returns delete status upon completion.
      tags:
      - Analytics
      summary: Delete an Application.
      operationId: DeleteApplication
      parameters:
      - type: integer
        format: int64
        x-go-name: Id
        name: id
        in: path
        required: true
      responses:
        "204":
          $ref: '#/responses/NoContentResponse'
        default:
          $ref: '#/responses/Error'
  /public/analytics/cancelAppInstanceRun/{id}:
    put:
      description: Returns the result.
      tags:
      - Analytics
      summary: Cancel a specific map reduce instance run.
      operationId: CancelMapReduceInstanceRun
      parameters:
      - type: integer
        format: int64
        x-go-name: Id
        name: id
        in: path
        required: true
      responses:
        "200":
          $ref: '#/responses/CancelMapReduceInstanceRunResponse'
        default:
          $ref: '#/responses/Error'
  /public/analytics/mappers:
    get:
      description: |-
        If no parameters are specified, all Mappers currently on
        the Cohesity Cluster are returned.
        Specifying parameters filters the results that are returned.
      tags:
      - Analytics
      summary: List Mappers filtered by the specified parameters.
      operationId: GetMappers
      responses:
        "200":
          $ref: '#/responses/GetMappersResponse'
        default:
          $ref: '#/responses/Error'
    post:
      description: Returns the created mapper.
      tags:
      - Analytics
      summary: Create a Mapper.
      operationId: CreateMapper
      parameters:
      - name: Body
        in: body
        schema:
          $ref: '#

# --- truncated at 32 KB (2507 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cohesity/refs/heads/main/openapi/cohesity-cluster-v1-openapi.yml