# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Cohesity REST Platform API version: 1.0.0 extends: openapi/cohesity-platform-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 47 - target: $.paths['/alertsSummary'].get update: x-apievangelist-phrasing: intent: Summarize cluster alerts by category effect: read questions: - What does the alert summary for my Cohesity cluster look like, grouped by category? - Can I limit the alerts summary to a time window or specific alert states? instructions: - text: Show me the alert counts by category for the cluster. - text: Summarize alerts by category between {startTimeUsecs} and {endTimeUsecs}. slots: startTimeUsecs: query.startTimeUsecs endTimeUsecs: query.endTimeUsecs - text: Give me the alerts summary for tenants {tenantIds} in states {statesList}. slots: tenantIds: query.tenantIds statesList: query.statesList method: generated generated: '2026-10-01' - target: $.paths['/chassis'].get update: x-apievangelist-phrasing: intent: List the chassis in the cluster effect: read questions: - Which hardware chassis are part of my cluster? - Can I find chassis that haven't been assigned to a rack yet? instructions: - text: List every chassis in the cluster. - text: List chassis where no rack assigned is {noRackAssigned}. slots: noRackAssigned: query.noRackAssigned method: generated generated: '2026-10-01' - target: $.paths['/chassis/{id}'].get update: x-apievangelist-phrasing: intent: Get details of one chassis effect: read questions: - What hardware model and serial number does a particular chassis have? - Which nodes and rack belong to a given chassis? instructions: - text: Show the details of chassis {id}. slots: id: path.id - text: Look up chassis {id} and tell me its serial number. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/chassis/{id}'].patch update: x-apievangelist-phrasing: intent: Update a chassis's name or rack assignment effect: write questions: - How do I rename a chassis in my cluster? - Can I move a chassis to a different rack? instructions: - text: Rename chassis {id} to {name}. slots: id: path.id name: requestBody.name - text: Assign chassis {id} to rack {rackId}. slots: id: path.id rackId: requestBody.rackId method: generated generated: '2026-10-01' - target: $.paths['/clusters'].get update: x-apievangelist-phrasing: intent: Get the cluster configuration summary effect: read questions: - What is the current configuration of my Cohesity cluster? - Which software version and cluster type am I running? instructions: - text: Show me the cluster configuration summary. - text: Retrieve the cluster's name, type and software version. method: generated generated: '2026-10-01' - target: $.paths['/clusters'].put update: x-apievangelist-phrasing: intent: Update an existing cluster's configuration effect: write questions: - How do I change the name or description of an existing cluster? - Can I update the proxy server settings on a cluster that's already set up? instructions: - text: Rename the existing cluster to {name}. slots: name: requestBody.name - text: Update the cluster description to {description}. slots: description: requestBody.description - text: Change the cluster's proxy server configuration to {proxyServerConfig}. slots: proxyServerConfig: requestBody.proxyServerConfig method: generated generated: '2026-10-01' - target: $.paths['/clusters'].post update: x-apievangelist-phrasing: intent: Create a new cluster effect: write questions: - How do I create a new physical, virtual or cloud cluster? - Is encryption something I have to decide when the cluster is first created? instructions: - text: Create a {type} cluster named {name} with encryption set to {enableEncryption} and network config {networkConfig}. slots: type: requestBody.type name: requestBody.name enableEncryption: requestBody.enableEncryption networkConfig: requestBody.networkConfig - text: Build a new cluster called {name} of type {type} using physical params {physicalClusterParams}, encryption {enableEncryption}, network {networkConfig}. slots: name: requestBody.name type: requestBody.type physicalClusterParams: requestBody.physicalClusterParams enableEncryption: requestBody.enableEncryption networkConfig: requestBody.networkConfig method: generated generated: '2026-10-01' - target: $.paths['/clusters/amqp-target-config'].get update: x-apievangelist-phrasing: intent: View the cluster's AMQP target config effect: read questions: - Which AMQP server is my cluster sending messages to? - What exchange and virtual host are set in the AMQP target config? instructions: - text: Show the AMQP target configuration on the cluster. - text: Fetch the current AMQP server, exchange and virtual host settings. method: generated generated: '2026-10-01' - target: $.paths['/clusters/amqp-target-config'].put update: x-apievangelist-phrasing: intent: Set the cluster's AMQP target effect: write questions: - How do I point my cluster at an AMQP message broker? - Can I change the AMQP exchange or credentials the cluster uses? instructions: - text: Point the cluster's AMQP target at server {serverIp} with exchange {exchange}. slots: serverIp: requestBody.serverIp exchange: requestBody.exchange - text: Update the AMQP target to use username {username} and virtual host {virtualHost}. slots: username: requestBody.username virtualHost: requestBody.virtualHost method: generated generated: '2026-10-01' - target: $.paths['/clusters/amqp-target-config'].delete update: x-apievangelist-phrasing: intent: Remove the cluster's AMQP target effect: destructive questions: - How do I stop the cluster from publishing to an AMQP broker? - Can I delete the AMQP target configuration entirely? instructions: - text: Delete the AMQP target configuration from the cluster. - text: Remove the AMQP broker settings on this cluster. method: generated generated: '2026-10-01' - target: $.paths['/disks/assimilate'].post update: x-apievangelist-phrasing: intent: Assimilate free disks into the cluster effect: write questions: - How do I add newly discovered free disks from nodes into cluster storage? - Can I assimilate disks from several nodes at once? instructions: - text: Assimilate the free disks {nodeFreeDisks} into the cluster. slots: nodeFreeDisks: requestBody.nodeFreeDisks - text: 'Bring these node free disks into use: {nodeFreeDisks}.' slots: nodeFreeDisks: requestBody.nodeFreeDisks method: generated generated: '2026-10-01' - target: $.paths['/disks/discover'].get update: x-apievangelist-phrasing: intent: Discover disks ready for activation effect: read questions: - Are there any new disks waiting to be activated in my cluster? - Which newly inserted disks has the cluster detected? instructions: - text: Discover new disks that are ready for activation. - text: Scan for disks I can activate. method: generated generated: '2026-10-01' - target: $.paths['/disks/identify'].post update: x-apievangelist-phrasing: intent: Blink a disk's LED to locate it effect: write questions: - How can I find a physical disk in the rack by lighting its LED? - Can I turn a disk's identify light off again? instructions: - text: Turn the LED on for disk {serialNumber} on node {nodeId}, identify {identify}. slots: serialNumber: requestBody.serialNumber nodeId: requestBody.nodeId identify: requestBody.identify - text: Set disk {serialNumber} on node {nodeId} identify light to {identify}. slots: serialNumber: requestBody.serialNumber nodeId: requestBody.nodeId identify: requestBody.identify method: generated generated: '2026-10-01' - target: $.paths['/disks/local'].get update: x-apievangelist-phrasing: intent: List local disks in the cluster effect: read questions: - What local disks are installed in my cluster nodes? - Can I see only the local disks on one node? instructions: - text: List all local disks. - text: List the local disks on node {nodeId}. slots: nodeId: query.nodeId method: generated generated: '2026-10-01' - target: $.paths['/disks/remote'].get update: x-apievangelist-phrasing: intent: List remote disks attached to the cluster effect: read questions: - Which remote disks are attached to my cluster? - Can I filter remote disks by storage tier or mount path? instructions: - text: Show all remote disks. - text: List remote disks in tier {tiers} on nodes {nodeIds}. slots: tiers: query.tiers nodeIds: query.nodeIds - text: Find the remote disk mounted at {mountPath}. slots: mountPath: query.mountPath method: generated generated: '2026-10-01' - target: $.paths['/disks/remote'].post update: x-apievangelist-phrasing: intent: Add a remote disk to the cluster effect: write questions: - How do I attach a remote disk to my cluster? - Can I add several remote disks in one request? instructions: - text: 'Add these remote disks to the cluster: {remoteDisks}.' slots: remoteDisks: requestBody.remoteDisks - text: Attach remote disk {remoteDisks}. slots: remoteDisks: requestBody.remoteDisks method: generated generated: '2026-10-01' - target: $.paths['/disks/remote/{id}'].delete update: x-apievangelist-phrasing: intent: Remove a remote disk effect: destructive questions: - How do I detach a remote disk from the cluster? - What happens when I remove a remote disk by its id? instructions: - text: Remove remote disk {id}. slots: id: path.id - text: Detach remote disk {id} from the cluster. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/disks/{id}/remove'].post update: x-apievangelist-phrasing: intent: Mark a disk for removal or cancel it effect: destructive questions: - How do I mark a failing local disk for removal? - Can I cancel a disk removal I already requested? instructions: - text: Mark disk {id} for removal with cancel set to {cancel}. slots: id: path.id cancel: requestBody.cancel - text: Cancel the pending removal of disk {id} by setting cancel to {cancel}. slots: id: path.id cancel: requestBody.cancel method: generated generated: '2026-10-01' - target: $.paths['/network-interfaces'].get update: x-apievangelist-phrasing: intent: List network interfaces on nodes effect: read questions: - What network interfaces exist on my cluster nodes? - Which NICs does the cluster see right now? instructions: - text: List the network interfaces on the cluster. - text: Show me every node interface. method: generated generated: '2026-10-01' - target: $.paths['/nodePower'].post update: x-apievangelist-phrasing: intent: Reboot or shut down cluster nodes effect: destructive questions: - How do I reboot a single node in my cluster? - Can I shut down the whole cluster through the API? instructions: - text: Run power operation {operation} on node {nodeId}. slots: operation: requestBody.operation nodeId: requestBody.nodeId - text: Perform {operation} on all cluster nodes. slots: operation: requestBody.operation method: generated generated: '2026-10-01' - target: $.paths['/nodes/{id}/identify'].post update: x-apievangelist-phrasing: intent: Blink a node's LED to locate it effect: write questions: - How do I light up a node's LED so I can find it in the datacenter? - Can I switch off the identify light on a node? instructions: - text: Set the identify LED on node {id} to {identify}. slots: id: path.id identify: requestBody.identify - text: Blink node {id} so I can find it, identify {identify}. slots: id: path.id identify: requestBody.identify method: generated generated: '2026-10-01' - target: $.paths['/nodes/{id}/remove'].post update: x-apievangelist-phrasing: intent: Mark a node for removal or cancel it effect: destructive questions: - How do I remove a node from my cluster? - Can I cancel a node removal that's already in progress? instructions: - text: Mark node {id} for removal, cancel {cancel}. slots: id: path.id cancel: requestBody.cancel - text: Cancel the removal of node {id} by setting cancel to {cancel}. slots: id: path.id cancel: requestBody.cancel method: generated generated: '2026-10-01' - target: $.paths['/racks'].get update: x-apievangelist-phrasing: intent: List racks in the cluster effect: read questions: - Which racks are defined in my cluster? - What racks have I set up and where are they located? instructions: - text: List all racks in the cluster. - text: Show me every rack and its chassis. method: generated generated: '2026-10-01' - target: $.paths['/racks'].post update: x-apievangelist-phrasing: intent: Create racks and assign chassis effect: write questions: - How do I define racks for my cluster hardware? - Can I assign chassis to a rack when I create it? instructions: - text: 'Create these racks: {racks}.' slots: racks: requestBody.racks - text: Add new racks with their chassis assignments {racks}. slots: racks: requestBody.racks method: generated generated: '2026-10-01' - target: $.paths['/racks'].delete update: x-apievangelist-phrasing: intent: Delete all racks effect: destructive questions: - How do I wipe every rack definition from the cluster at once? - Is there a way to delete all racks in one call? instructions: - text: Delete all the racks in the cluster. - text: Clear every rack definition. method: generated generated: '2026-10-01' - target: $.paths['/racks'].patch update: x-apievangelist-phrasing: intent: Bulk update several racks effect: write questions: - How do I update names and locations for several racks at once? - Can I change chassis lists across multiple racks in a single request? instructions: - text: 'Update these racks in bulk: {racks}.' slots: racks: requestBody.racks - text: 'Apply this list of rack name and location changes: {racks}.' slots: racks: requestBody.racks method: generated generated: '2026-10-01' - target: $.paths['/racks/{id}'].get update: x-apievangelist-phrasing: intent: Get details of one rack effect: read questions: - Where is a specific rack located and which chassis does it hold? - What's stored about one rack in the cluster? instructions: - text: Show rack {id}. slots: id: path.id - text: Get the location and chassis of rack {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/racks/{id}'].delete update: x-apievangelist-phrasing: intent: Delete one rack effect: destructive questions: - How do I delete a single rack by its id? - Can I remove just one rack without touching the others? instructions: - text: Delete rack {id}. slots: id: path.id - text: Remove the rack with id {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/racks/{id}'].patch update: x-apievangelist-phrasing: intent: Update one rack's name, location or chassis effect: write questions: - How do I rename a single rack? - Can I change the chassis assigned to one particular rack? instructions: - text: Rename rack {id} to {name}. slots: id: path.id name: requestBody.name - text: Set the location of rack {id} to {location}. slots: id: path.id location: requestBody.location - text: Set the chassis list on rack {id} to {chassisIds}. slots: chassisIds: requestBody.chassisIds id: path.id method: generated generated: '2026-10-01' - target: $.paths['/remote-storage'].get update: x-apievangelist-phrasing: intent: List registered remote storage servers effect: read questions: - Which remote storage servers are registered for disaggregated storage? - What external storage arrays is my cluster using? instructions: - text: List registered remote storage servers. - text: Show the summary of all remote storage registrations. method: generated generated: '2026-10-01' - target: $.paths['/remote-storage'].post update: x-apievangelist-phrasing: intent: Register remote storage effect: write questions: - How do I register a FlashBlade as remote storage for my cluster? - Can I add disaggregated storage from an external product? instructions: - text: Register remote storage of product {product} with FlashBlade params {flashbladeParams}. slots: product: requestBody.product flashbladeParams: requestBody.flashbladeParams - text: Register a new {product} remote storage server. slots: product: requestBody.product method: generated generated: '2026-10-01' - target: $.paths['/remote-storage/{id}'].get update: x-apievangelist-phrasing: intent: Get details of a remote storage server effect: read questions: - How much space is available on a registered remote storage array? - Can I see the data VIPs and array info for one remote storage registration? instructions: - text: Show remote storage {id}. slots: id: path.id - text: Get remote storage {id} including available space {includeAvailableSpace}. slots: id: path.id includeAvailableSpace: query.includeAvailableSpace method: generated generated: '2026-10-01' - target: $.paths['/remote-storage/{id}'].delete update: x-apievangelist-phrasing: intent: Unregister remote storage effect: destructive questions: - How do I unregister a remote storage server from the cluster? - Can I delete a remote storage registration I no longer use? instructions: - text: Delete remote storage registration {id}. slots: id: path.id - text: Unregister remote storage {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/remote-storage/{id}'].patch update: x-apievangelist-phrasing: intent: Update a remote storage registration effect: write questions: - How do I change the FlashBlade settings of a storage array I already registered? - Can I edit an existing remote storage config? instructions: - text: Update remote storage {id} as product {product} with FlashBlade params {flashbladeParams}. slots: id: path.id product: requestBody.product flashbladeParams: requestBody.flashbladeParams - text: Change the registered remote storage {id} config to product {product}. slots: id: path.id product: requestBody.product method: generated generated: '2026-10-01' - target: $.paths['/support-channel-config'].get update: x-apievangelist-phrasing: intent: View the support channel configuration effect: read questions: - Is the remote support channel enabled on my cluster? - When does the current support channel session expire? instructions: - text: Show the support channel configuration. - text: Check whether the support channel is on. method: generated generated: '2026-10-01' - target: $.paths['/support-channel-config'].put update: x-apievangelist-phrasing: intent: Enable or disable the support channel effect: write questions: - How do I open a support channel for Cohesity support until a certain time? - Can I turn the support channel off? instructions: - text: Set the support channel enabled to {isEnabled} until {endTimeUsecs}. slots: isEnabled: requestBody.isEnabled endTimeUsecs: requestBody.endTimeUsecs - text: Open the support channel with enabled {isEnabled}, ending at {endTimeUsecs}. slots: isEnabled: requestBody.isEnabled endTimeUsecs: requestBody.endTimeUsecs method: generated generated: '2026-10-01' - target: $.paths['/syslogAuditTags'].get update: x-apievangelist-phrasing: intent: View cluster syslog audit tags effect: read questions: - What audit tags does the cluster attach to syslog messages? - Which tags are used for filer and alert audit logs? instructions: - text: Show the cluster's syslog audit tags. - text: List the audit tags for cluster, filer, data protection and alert logs. method: generated generated: '2026-10-01' - target: $.paths['/syslogAuditTags'].post update: x-apievangelist-phrasing: intent: Change cluster syslog audit tags effect: write questions: - How do I change the tag used for cluster audit messages sent to syslog? - Can I set a different audit tag for alerts? instructions: - text: Set the cluster audit tag to {clusterAudit}. slots: clusterAudit: requestBody.clusterAudit - text: Change the alert audit tag to {alertAudit} and filer audit tag to {filerAudit}. slots: alertAudit: requestBody.alertAudit filerAudit: requestBody.filerAudit method: generated generated: '2026-10-01' - target: $.paths['/syslogProgramNames'].get update: x-apievangelist-phrasing: intent: List syslog program names you can forward effect: read questions: - Which program names can I configure a syslog server to receive? - What log sources are supported for syslog forwarding? instructions: - text: List the supported syslog program names. - text: Show which programs can be sent to a syslog server. method: generated generated: '2026-10-01' - target: $.paths['/syslogs'].get update: x-apievangelist-phrasing: intent: List syslog servers effect: read questions: - Which syslog servers is my cluster forwarding logs to? - What syslog destinations are configured? instructions: - text: List all configured syslog servers. - text: Show me every syslog destination. method: generated generated: '2026-10-01' - target: $.paths['/syslogs'].post update: x-apievangelist-phrasing: intent: Add a syslog server effect: write questions: - How do I forward cluster logs to a new syslog server? - Can I send logs to syslog over TLS with a CA certificate? instructions: - text: Add syslog server {name} at {ip} port {port} over {protocol}. slots: name: requestBody.name ip: requestBody.ip port: requestBody.port protocol: requestBody.protocol - text: Add a TLS syslog server at {ip} using CA certificate {caCertificate}. slots: ip: requestBody.ip caCertificate: requestBody.caCertificate method: generated generated: '2026-10-01' - target: $.paths['/syslogs'].delete update: x-apievangelist-phrasing: intent: Delete all syslog servers effect: destructive questions: - How do I remove every syslog server at once? - Can I stop all syslog forwarding in one call? instructions: - text: Delete all syslog servers. - text: Clear every syslog destination from the cluster. method: generated generated: '2026-10-01' - target: $.paths['/syslogs/{id}'].get update: x-apievangelist-phrasing: intent: Get one syslog server effect: read questions: - What settings does a particular syslog server have? - Which facilities and programs is one syslog destination receiving? instructions: - text: Show syslog server {id}. slots: id: path.id - text: Get the config of syslog server {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/syslogs/{id}'].put update: x-apievangelist-phrasing: intent: Replace a syslog server's settings effect: write questions: - How do I fully replace the configuration of an existing syslog server? - Can I overwrite a syslog server's address, port and protocol together? instructions: - text: Replace syslog server {id} with address {ip} port {port} protocol {protocol}. slots: id: path.id ip: requestBody.ip port: requestBody.port protocol: requestBody.protocol - text: Overwrite the full config of syslog server {id}, naming it {name}. slots: id: path.id name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/syslogs/{id}'].delete update: x-apievangelist-phrasing: intent: Delete one syslog server effect: destructive questions: - How do I remove a single syslog server by id? - Can I delete one syslog destination and keep the rest? instructions: - text: Remove syslog server {id}. slots: id: path.id - text: Delete just the syslog destination {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/syslogs/{id}'].patch update: x-apievangelist-phrasing: intent: Partially change a syslog server effect: write questions: - How do I disable one syslog server without changing its other settings? - Can I patch only the port of an existing syslog server? instructions: - text: Patch syslog server {id} to set enabled {enabled}. slots: id: path.id enabled: requestBody.enabled - text: Change only the port of syslog server {id} to {port}. slots: id: path.id port: requestBody.port method: generated generated: '2026-10-01' - target: $.paths['/syslogs/{id}/status'].get update: x-apievangelist-phrasing: intent: Check a syslog server's reachability effect: read questions: - Is my syslog server reachable from the cluster? - Why aren't logs arriving at a syslog destination — can I test reachability? instructions: - text: Check reachability of syslog server {id}. slots: id: path.id - text: Test whether syslog server {id} can be reached. slots: id: path.id method: generated generated: '2026-10-01'