# 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 Tenant API version: 1.0.0 extends: openapi/cohesity-tenant-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: 17 - target: $.paths['/public/tenants'].get update: x-apievangelist-phrasing: intent: List tenants effect: read questions: - Which tenants exist on my multitenant Cohesity cluster? - Can I list only active tenants, or include sub-tenants in the hierarchy? instructions: - text: List tenants with ids {ids}. slots: ids: query.ids - text: Show tenants in status {status}. slots: status: query.status method: generated generated: '2026-10-01' - target: $.paths['/public/tenants'].put update: x-apievangelist-phrasing: intent: Update a tenant's details effect: write questions: - Can I rename a tenant or change its description and alert email subscription? - What tenant settings like cluster hostname or IPs can be changed later? instructions: - text: Rename tenant {tenantId} to {name}. slots: tenantId: requestBody.tenantId name: requestBody.name - text: Update the description of tenant {tenantId} to {description}. slots: tenantId: requestBody.tenantId description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/public/tenants'].post update: x-apievangelist-phrasing: intent: Create a tenant effect: write questions: - How do I add a new tenant for a service-provider customer on the cluster? - Can I create a sub-tenant under an existing parent tenant? instructions: - text: Create tenant {name}. slots: name: requestBody.name - text: Create tenant {name} under parent {parentTenantId}. slots: name: requestBody.name parentTenantId: requestBody.parentTenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants'].delete update: x-apievangelist-phrasing: intent: Delete a tenant effect: destructive questions: - Can I remove a tenant from the cluster entirely? - What does deleting a tenant take as input? instructions: - text: Delete tenant {tenantId}. slots: tenantId: requestBody.tenantId - text: Remove tenant {tenantId} from the cluster. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/activeDirectory'].put update: x-apievangelist-phrasing: intent: Assign AD domains to a tenant effect: write questions: - Can I give a tenant its own Active Directory domains? - Which AD domains is a tenant allowed to use, and can I change them? instructions: - text: Assign AD domains {activeDirectoryDomains} to tenant {tenantId}. slots: activeDirectoryDomains: requestBody.activeDirectoryDomains tenantId: requestBody.tenantId - text: Update the Active Directory domains of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/entity'].put update: x-apievangelist-phrasing: intent: Grant a tenant access to source entities effect: write questions: - Can I give a tenant permission over specific protection source entities? - Which sources a tenant can see is controlled how? instructions: - text: Grant tenant {tenantId} access to entities {entityIds}. slots: tenantId: requestBody.tenantId entityIds: requestBody.entityIds - text: Update entity permissions of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/groups'].put update: x-apievangelist-phrasing: intent: Assign groups to a tenant effect: write questions: - Can I move existing groups into a tenant? - What identifies a group when assigning it to a tenant? instructions: - text: Assign groups with SIDs {sids} to tenant {tenantId}. slots: sids: requestBody.sids tenantId: requestBody.tenantId - text: Update the group membership of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/ldapProvider'].put update: x-apievangelist-phrasing: intent: Assign LDAP providers to a tenant effect: write questions: - Can a tenant use its own LDAP providers? - Which LDAP providers are attached to a tenant, and can I change them? instructions: - text: Assign LDAP providers {ldapProviderIds} to tenant {tenantId}. slots: ldapProviderIds: requestBody.ldapProviderIds tenantId: requestBody.tenantId - text: Update the LDAP providers of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/policy'].put update: x-apievangelist-phrasing: intent: Grant a tenant access to protection policies effect: write questions: - Can I let a tenant use specific protection policies? - Which backup policies is a tenant permitted to apply? instructions: - text: Grant tenant {tenantId} the policies {policyIds}. slots: tenantId: requestBody.tenantId policyIds: requestBody.policyIds - text: Update the protection policy permissions of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/protectionJob'].put update: x-apievangelist-phrasing: intent: Assign protection jobs to a tenant effect: write questions: - Can I hand existing protection jobs over to a tenant? - Which backup jobs belong to a tenant, and can I reassign them? instructions: - text: Assign protection jobs {protectionJobIds} to tenant {tenantId}. slots: protectionJobIds: requestBody.protectionJobIds tenantId: requestBody.tenantId - text: Update the protection jobs of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/proxies'].get update: x-apievangelist-phrasing: intent: List tenant proxies effect: read questions: - Which proxies are running inside tenants' own environments? - Can I check the status of specific tenant proxies? instructions: - text: List tenant proxies with ids {ids}. slots: ids: query.ids - text: Show all proxies running in tenant environments. method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/proxy/config'].get update: x-apievangelist-phrasing: intent: Get a tenant proxy's config effect: read questions: - What configuration does a tenant proxy need to connect back to the cluster? - Can I just validate a tenant proxy config without fetching it? instructions: - text: Get the proxy config for tenant {id}. slots: id: query.id - text: Validate the proxy config of tenant {id} only. slots: id: query.id method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/proxy/image'].get update: x-apievangelist-phrasing: intent: Download the tenant proxy image effect: read questions: - Where do I get the proxy image to install in a tenant's environment? - Can I download the tenant proxy for a specific tenant? instructions: - text: Download the proxy image for tenant {id}. slots: id: query.id - text: Get the tenant proxy installer. method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/users'].put update: x-apievangelist-phrasing: intent: Assign users to a tenant effect: write questions: - Can I move existing users into a tenant? - What identifies a user when assigning them to a tenant? instructions: - text: Assign users with SIDs {sids} to tenant {tenantId}. slots: sids: requestBody.sids tenantId: requestBody.tenantId - text: Update the user list of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/view'].put update: x-apievangelist-phrasing: intent: Grant a tenant access to views effect: write questions: - Can I give a tenant permission over specific views? - Which storage views can a tenant use, and can I change that? instructions: - text: Grant tenant {tenantId} the views {viewNames}. slots: tenantId: requestBody.tenantId viewNames: requestBody.viewNames - text: Update view permissions of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/viewBox'].put update: x-apievangelist-phrasing: intent: Assign storage domains to a tenant effect: write questions: - Can a tenant be given its own storage domain (view box)? - Which view boxes does a tenant store data in? instructions: - text: Assign view boxes {viewBoxIds} to tenant {tenantId}. slots: viewBoxIds: requestBody.viewBoxIds tenantId: requestBody.tenantId - text: Update the storage domains of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01' - target: $.paths['/public/tenants/vlan'].put update: x-apievangelist-phrasing: intent: Assign VLANs to a tenant effect: write questions: - Can I isolate a tenant's traffic on dedicated VLANs? - Which VLAN interfaces does a tenant use? instructions: - text: Assign VLAN interfaces {vlanIfaceNames} to tenant {tenantId}. slots: vlanIfaceNames: requestBody.vlanIfaceNames tenantId: requestBody.tenantId - text: Update the VLANs of tenant {tenantId}. slots: tenantId: requestBody.tenantId method: generated generated: '2026-10-01'