Cohesity · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Cohesity REST Principals API
18 actions
18 updates
phrasing
extends
openapi/cohesity-principals-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Cohesity's API. It is a proposal applied on top of the contract, not a document Cohesity publishes.
What the actions change
x-apievangelist-phrasing
Targets 18 · first 16 shown; the file carries all of them
$.info
$.paths['/public/principals/protectionSources'].get
$.paths['/public/principals/protectionSources'].put
$.paths['/public/principals/searchPrincipals'].get
$.paths['/public/sessionUser'].get
$.paths['/public/users'].get
$.paths['/public/users'].put
$.paths['/public/users'].post
$.paths['/public/users'].delete
$.paths['/public/users/privileges'].get
$.paths['/public/users/s3SecretKey'].post
$.paths['/public/users/{sid}/apiKeys'].get
$.paths['/public/users/{sid}/apiKeys'].post
$.paths['/public/users/{sid}/apiKeys/{id}'].get
$.paths['/public/users/{sid}/apiKeys/{id}'].put
$.paths['/public/users/{sid}/apiKeys/{id}'].delete
OpenAPI Overlay
# 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 Principals API
version: 1.0.0
extends: openapi/cohesity-principals-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/principals/protectionSources'].get
update:
x-apievangelist-phrasing:
intent: See which sources and views principals can access
effect: read
questions:
- Which protection sources and views can a given user or group access?
- Can I check access for several SIDs in one request?
instructions:
- text: List the protection sources and views that principal {sids} can access.
slots:
sids: query.sids
- text: Show what objects and views SIDs {sids} have permission to see.
slots:
sids: query.sids
method: generated
generated: '2026-10-01'
- target: $.paths['/public/principals/protectionSources'].put
update:
x-apievangelist-phrasing:
intent: Grant principals access to sources and views
effect: write
questions:
- How do I give an Active Directory group access to specific VMs and views?
- Can I restrict a user to only certain protection sources?
instructions:
- text: Set source and view access for principals as {sourcesForPrincipals}.
slots:
sourcesForPrincipals: requestBody.sourcesForPrincipals
- text: 'Grant these principals access to the listed protection sources and views: {sourcesForPrincipals}.'
slots:
sourcesForPrincipals: requestBody.sourcesForPrincipals
method: generated
generated: '2026-10-01'
- target: $.paths['/public/principals/searchPrincipals'].get
update:
x-apievangelist-phrasing:
intent: Search users and groups in a domain
effect: read
questions:
- Can I find Active Directory users or groups whose names contain a substring?
- Is it possible to include computer or GMSA accounts in a principal search?
- Which principals in a domain are groups rather than users?
instructions:
- text: Search domain {domain} for principals matching {search}.
slots:
domain: query.domain
search: query.search
- text: Find groups in {domain} whose name contains {search}.
slots:
domain: query.domain
search: query.search
method: generated
generated: '2026-10-01'
- target: $.paths['/public/sessionUser'].get
update:
x-apievangelist-phrasing:
intent: Get the logged-in user
effect: read
questions:
- Who am I logged in as on the Cohesity cluster?
- What roles and domain does my current session user have?
instructions:
- text: Show the user I'm currently logged in as.
- text: Get my session user's details.
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users'].get
update:
x-apievangelist-phrasing:
intent: List cluster users
effect: read
questions:
- Which users have accounts on my cluster?
- Can I find a user by email address or a partial username?
instructions:
- text: List users whose username contains {usernames}.
slots:
usernames: query.usernames
- text: Find the cluster user with email {emailAddresses}.
slots:
emailAddresses: query.emailAddresses
- text: List all users in domain {domain}.
slots:
domain: query.domain
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users'].put
update:
x-apievangelist-phrasing:
intent: Update a cluster user's settings
effect: write
questions:
- How do I change a user's roles on the cluster without touching Active Directory?
- Can I force a local user to change their password at next login?
instructions:
- text: Update user {username} in {domain} to have roles {roles}.
slots:
username: requestBody.username
domain: requestBody.domain
roles: requestBody.roles
- text: Force user {username} to change their password.
slots:
username: requestBody.username
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users'].post
update:
x-apievangelist-phrasing:
intent: Add a user to the cluster
effect: write
questions:
- How do I add an Active Directory user to my Cohesity cluster?
- Can I create a local user with an expiry date?
instructions:
- text: Create local user {username} with email {emailAddress} and roles {roles}.
slots:
username: requestBody.username
emailAddress: requestBody.emailAddress
roles: requestBody.roles
- text: Add AD user {username} from domain {domain} to the cluster.
slots:
username: requestBody.username
domain: requestBody.domain
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users'].delete
update:
x-apievangelist-phrasing:
intent: Delete users from the cluster
effect: destructive
questions:
- Does removing a user from the cluster also delete them in Active Directory?
- Can I delete several users from the same domain in one go?
instructions:
- text: Delete users {users} from domain {domain}.
slots:
users: requestBody.users
domain: requestBody.domain
- text: Remove cluster user accounts {users}.
slots:
users: requestBody.users
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/privileges'].get
update:
x-apievangelist-phrasing:
intent: List my session user's privileges
effect: read
questions:
- What privileges does my current login actually have?
- Am I allowed to manage protection jobs with my account's privileges?
instructions:
- text: List the privileges of my session user.
- text: Show what I'm allowed to do on this cluster.
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/s3SecretKey'].post
update:
x-apievangelist-phrasing:
intent: Reset a user's S3 secret key
effect: destructive
questions:
- How do I rotate the S3 secret access key for a cluster user?
- Will resetting the S3 secret key break apps using the old one?
instructions:
- text: Reset the S3 secret key for user {username}.
slots:
username: requestBody.username
- text: Generate a new S3 secret key for {username} in {domain}.
slots:
username: requestBody.username
domain: requestBody.domain
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/{sid}/apiKeys'].get
update:
x-apievangelist-phrasing:
intent: List a user's API keys
effect: read
questions:
- Which API keys does a particular user have?
- Can I filter a user's API keys by key id?
instructions:
- text: List the API keys for user {sid}.
slots:
sid: path.sid
- text: Show API keys {ids} belonging to user {sid}.
slots:
ids: query.ids
sid: path.sid
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/{sid}/apiKeys'].post
update:
x-apievangelist-phrasing:
intent: Create an API key for a user
effect: write
questions:
- How do I generate an API key for a service account user?
- Can I give a new API key an expiration time?
instructions:
- text: Create API key {name} for user {sid}.
slots:
name: requestBody.name
sid: path.sid
- text: Create API key {name} for user {sid} that expires at {expiringTimeMsecs}.
slots:
name: requestBody.name
sid: path.sid
expiringTimeMsecs: requestBody.expiringTimeMsecs
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/{sid}/apiKeys/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get one of a user's API keys
effect: read
questions:
- Is a specific API key of a user still active and when does it expire?
- Can I look up a single user API key by its id?
instructions:
- text: Get API key {id} for user {sid}.
slots:
id: path.id
sid: path.sid
- text: Show the details of user {sid}'s key {id}.
slots:
sid: path.sid
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/{sid}/apiKeys/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a user's API key
effect: write
questions:
- Can I deactivate an API key without deleting it?
- How do I extend an API key's expiration?
instructions:
- text: Deactivate API key {id} for user {sid}.
slots:
id: path.id
sid: path.sid
- text: Rename user {sid}'s API key {id} to {name}.
slots:
sid: path.sid
id: path.id
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/{sid}/apiKeys/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's API key
effect: destructive
questions:
- How do I permanently remove an API key a user no longer needs?
- What happens to clients still using an API key after it is deleted?
instructions:
- text: Delete API key {id} of user {sid}.
slots:
id: path.id
sid: path.sid
- text: Remove user {sid}'s key {id} for good.
slots:
sid: path.sid
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/public/users/{sid}/apiKeys/{id}/rotate'].post
update:
x-apievangelist-phrasing:
intent: Rotate a user's API key
effect: write
questions:
- Can I rotate an API key to get a fresh secret while keeping the same key entry?
- What does rotating a user API key return?
instructions:
- text: Rotate API key {id} for user {sid}.
slots:
id: path.id
sid: path.sid
- text: Rotate the secret of user {sid}'s key {id}.
slots:
sid: path.sid
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/public/usersApiKeys'].get
update:
x-apievangelist-phrasing:
intent: List API keys across all users
effect: read
questions:
- Which API keys exist across every user on the cluster?
- Can I audit API keys for a handful of users at once?
instructions:
- text: List API keys across all users.
- text: Show the API keys owned by users {userSids}.
slots:
userSids: query.userSids
method: generated
generated: '2026-10-01'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/cohesity-principals-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.