# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Cohesity Protection Policies API version: 1.0.0 extends: openapi/cohesity-protection-policies-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: 13 - target: $.paths['/public/protectionPolicies'].get update: x-apievangelist-phrasing: intent: List protection policies (v1 public API) effect: read questions: - How do I list protection policies with the older v1 public API? - Can the v1 policies endpoint filter by vault or environment? instructions: - text: List all protection policies using the v1 public API. - text: With the v1 API, list policies that archive to vaults {vaultIds}. slots: vaultIds: query.vaultIds - text: Using v1, find protection policies for environments {environments}. slots: environments: query.environments method: generated generated: '2026-10-01' - target: $.paths['/public/protectionPolicies'].post update: x-apievangelist-phrasing: intent: Create a protection policy (v1 public API) effect: write questions: - How do I create a backup policy with the v1 public API, setting days to keep? - Can I set incremental and full schedules when creating a v1 policy? instructions: - text: Create a v1 protection policy named {name} keeping snapshots {daysToKeep} days. slots: name: requestBody.name daysToKeep: requestBody.daysToKeep - text: Through the v1 API, create policy {name} with incremental schedule {incrementalSchedulingPolicy}. slots: name: requestBody.name incrementalSchedulingPolicy: requestBody.incrementalSchedulingPolicy method: generated generated: '2026-10-01' - target: $.paths['/public/protectionPolicies/{id}'].get update: x-apievangelist-phrasing: intent: Get one protection policy (v1 public API) effect: read questions: - How do I fetch a single policy's details from the v1 public API? - What schedule and retention does a policy have, according to v1? instructions: - text: Get v1 protection policy {id}. slots: id: path.id - text: Show the v1 details of policy {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/public/protectionPolicies/{id}'].put update: x-apievangelist-phrasing: intent: Update a protection policy (v1 public API) effect: write questions: - How do I change retention days on a policy using the v1 public API? - Can I add blackout periods to an existing policy through v1? instructions: - text: Update v1 policy {id} to keep snapshots {daysToKeep} days. slots: id: path.id daysToKeep: requestBody.daysToKeep - text: Set blackout periods {blackoutPeriods} on v1 policy {id}. slots: blackoutPeriods: requestBody.blackoutPeriods id: path.id method: generated generated: '2026-10-01' - target: $.paths['/public/protectionPolicies/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a protection policy (v1 public API) effect: destructive questions: - How do I delete a policy through the v1 public API? - Does the v1 delete call just return success when the policy is gone? instructions: - text: Delete v1 protection policy {id}. slots: id: path.id - text: Remove policy {id} using the v1 public endpoint. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/public/protectionPolicySummary'].get update: x-apievangelist-phrasing: intent: Summarize runs for a protection policy effect: read questions: - How are the jobs that use a given policy performing? - Can I get an aggregated last-run summary for every object under one policy? instructions: - text: Show the run summary for policy {id}. slots: id: query.id - text: Summarize policy {id} with aggregated last run summary {includeAggregatedLastRunSummary}. slots: id: query.id includeAggregatedLastRunSummary: query.includeAggregatedLastRunSummary - text: Get policy {id} run summary from {startTimeUsecs} to {endTimeUsecs}. slots: id: query.id startTimeUsecs: query.startTimeUsecs endTimeUsecs: query.endTimeUsecs method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policies'].get update: x-apievangelist-phrasing: intent: List protection policies (v2 data-protect) effect: read questions: - Which data-protect policies exist on my cluster? - Can I exclude linked policies or include replicated ones when listing policies? instructions: - text: List data-protect protection policies. - text: Find data-protect policies named {policyNames}. slots: policyNames: query.policyNames - text: List data-protect policies including replicated policies {includeReplicatedPolicies}. slots: includeReplicatedPolicies: query.includeReplicatedPolicies method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policies'].post update: x-apievangelist-phrasing: intent: Create a protection policy (v2 data-protect) effect: write questions: - How do I create a data-protect backup policy with a blackout window? - Can I base a new policy on a policy template? instructions: - text: Create data-protect policy {name} with backup policy {backupPolicy}. slots: name: requestBody.name backupPolicy: requestBody.backupPolicy - text: Create policy {name} from template {templateId} with backup settings {backupPolicy}. slots: name: requestBody.name templateId: requestBody.templateId backupPolicy: requestBody.backupPolicy method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policies/{id}'].get update: x-apievangelist-phrasing: intent: Get one protection policy (v2 data-protect) effect: read questions: - What backup, retention and remote target settings does a data-protect policy have? - Can I look up a data-protect policy by its id? instructions: - text: Get data-protect policy {id}. slots: id: path.id - text: Show the retention and remote targets of data-protect policy {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policies/{id}'].put update: x-apievangelist-phrasing: intent: Update a protection policy (v2 data-protect) effect: write questions: - How do I add DataLock to an existing data-protect policy? - Can I change the remote replication target on a data-protect policy? instructions: - text: Update data-protect policy {id} named {name} with backup policy {backupPolicy}. slots: id: path.id name: requestBody.name backupPolicy: requestBody.backupPolicy - text: Set DataLock {dataLock} on data-protect policy {id} ({name}, backup {backupPolicy}). slots: dataLock: requestBody.dataLock id: path.id name: requestBody.name backupPolicy: requestBody.backupPolicy method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policies/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a protection policy (v2 data-protect) effect: destructive questions: - How do I delete a data-protect policy I no longer need? - What happens if I remove a data-protect policy by id? instructions: - text: Delete data-protect policy {id}. slots: id: path.id - text: Remove the data-protect protection policy {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policy-templates'].get update: x-apievangelist-phrasing: intent: List protection policy templates effect: read questions: - What policy templates can I start a new backup policy from? - Can I search policy templates by name? instructions: - text: List all policy templates. - text: Find policy templates named {policyNames}. slots: policyNames: query.policyNames method: generated generated: '2026-10-01' - target: $.paths['/data-protect/policy-templates/{id}'].get update: x-apievangelist-phrasing: intent: Get one policy template effect: read questions: - What settings does a specific policy template contain? - Can I inspect a template before creating a policy from it? instructions: - text: Show policy template {id}. slots: id: path.id - text: Get the details of template {id}. slots: id: path.id method: generated generated: '2026-10-01'