CData · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for CData Connect AI Management Users API
16 actions
16 updates
phrasing
extends
openapi/cdata-users-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for CData's API. It is a proposal applied on top of the contract, not a document CData publishes.
What the actions change
x-apievangelist-phrasing
Targets 16
$.info
$.paths['/users'].get
$.paths['/users'].post
$.paths['/users/batch'].post
$.paths['/users/{id}'].get
$.paths['/users/{id}'].delete
$.paths['/users/{id}'].patch
$.paths['/users/{id}/roles'].get
$.paths['/users/{id}/roles'].post
$.paths['/users/{id}/roles/{role_id}'].delete
$.paths['/users/{id}/permissions'].get
$.paths['/users/{id}/permissions'].post
$.paths['/users/{id}/permissions/{permission_id}'].delete
$.paths['/users/{id}/workspaces/{workspace_id}/roles'].get
$.paths['/users/{id}/workspaces/{workspace_id}/roles'].post
$.paths['/users/{id}/workspaces/{workspace_id}/roles/{role_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 CData Connect AI Management Users API
version: 1.0.0
extends: openapi/cdata-users-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 15
- target: $.paths['/users'].get
update:
x-apievangelist-phrasing:
intent: List the organization's human users
effect: read
questions:
- Which people have user accounts in our Connect AI organization?
- Can I list only users provisioned through SCIM versus ones created by API?
- Is there a way to find a user by their exact email address?
instructions:
- text: List all human users in the organization.
- text: Find the user with email {email}.
slots:
email: query.email
- text: List users with status {status} who hold role {role_id}.
slots:
status: query.status
role_id: query.role_id
- text: Show only users where SCIM managed is {scim_managed}, {limit} per page.
slots:
scim_managed: query.scim_managed
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/users'].post
update:
x-apievangelist-phrasing:
intent: Create a single user outside SCIM
effect: write
questions:
- How do I add a contractor or break-glass user when we don't use SCIM?
- Does creating a user twice with the same external Id make a duplicate?
instructions:
- text: Create a user {first_name} {last_name} with email {email}.
slots:
first_name: requestBody.first_name
last_name: requestBody.last_name
email: requestBody.email
- text: Add one user {first_name} at {email} with HR employee Id {external_id}.
slots:
first_name: requestBody.first_name
email: requestBody.email
external_id: requestBody.external_id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/batch'].post
update:
x-apievangelist-phrasing:
intent: Bulk create or update up to 500 users
effect: write
questions:
- Can I import hundreds of users in one request?
- What happens in a bulk user import when some records fail?
- Will a bulk load update existing users that share an external Id?
instructions:
- text: 'Bulk create or update these users: {users}.'
slots:
users: requestBody.users
- text: 'Import this batch of up to 500 user records in one call: {users}.'
slots:
users: requestBody.users
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get one user and their direct permissions
effect: read
questions:
- How do I look up a single user's profile and directly assigned permissions?
- What status is a given user in right now?
instructions:
- text: Get user {id}.
slots:
id: path.id
- text: Show me the profile of person {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Deprovision a user
effect: destructive
questions:
- What happens to a user's direct roles and permissions when I delete them?
- How do I permanently offboard a person from the organization?
instructions:
- text: Delete user {id}.
slots:
id: path.id
- text: Permanently deprovision the person {id} from our org.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's name or status
effect: write
questions:
- Why can't I change the name of a user that comes from our identity provider?
- Does deactivating a user revoke their personal access tokens immediately?
instructions:
- text: Set the status of user {id} to {status}.
slots:
id: path.id
status: requestBody.status
- text: Rename user {id} to {first_name} {last_name}.
slots:
id: path.id
first_name: requestBody.first_name
last_name: requestBody.last_name
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/roles'].get
update:
x-apievangelist-phrasing:
intent: List all roles a user holds, however inherited
effect: read
questions:
- Which roles does a person have across all workspaces, including ones from groups?
- Is a user's access coming from a direct grant, a group, or a workspace?
instructions:
- text: List every role user {id} holds across all workspaces.
slots:
id: path.id
- text: Show all direct, group and workspace role grants for person {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/roles'].post
update:
x-apievangelist-phrasing:
intent: Grant the account-wide admin role to a user
effect: write
questions:
- How do I make a person an organization-wide admin?
- Which role can be given to a user at the account level rather than per workspace?
instructions:
- text: Grant account-wide role {role_id} to user {id}.
slots:
role_id: requestBody.role_id
id: path.id
- text: Make person {id} an organization admin using role {role_id}.
slots:
id: path.id
role_id: requestBody.role_id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/roles/{role_id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a direct account-level role from a user
effect: destructive
questions:
- How do I take the admin role away from a person?
- Can I remove a role a user inherited from an identity provider group this way?
instructions:
- text: Remove direct role {role_id} from user {id}.
slots:
role_id: path.role_id
id: path.id
- text: Revoke the org-wide admin role {role_id} held directly by person {id}.
slots:
role_id: path.role_id
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/permissions'].get
update:
x-apievangelist-phrasing:
intent: List a user's direct resource permissions
effect: read
questions:
- Which connections can a person access through permissions granted straight to them?
- What direct resource permissions does a user have outside their roles?
instructions:
- text: List the direct permissions of user {id}.
slots:
id: path.id
- text: Show which connections person {id} has direct access to.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/permissions'].post
update:
x-apievangelist-phrasing:
intent: Give a user access to a connection
effect: write
questions:
- How do I let one person query a specific connection without giving them a role?
- Can I restrict a user to particular operations on a connection?
instructions:
- text: Give user {id} {operations} access to connection {resource} as a {type} permission.
slots:
id: path.id
operations: requestBody.operations
resource: requestBody.resource
type: requestBody.type
- text: Grant person {id} permission of type {type} to perform {operations} on {resource}.
slots:
id: path.id
type: requestBody.type
operations: requestBody.operations
resource: requestBody.resource
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/permissions/{permission_id}'].delete
update:
x-apievangelist-phrasing:
intent: Revoke a direct permission from a user
effect: destructive
questions:
- How do I cut off a person's access to one connection without deleting their account?
- Can I revoke a single direct permission from a user?
instructions:
- text: Remove permission {permission_id} from user {id}.
slots:
permission_id: path.permission_id
id: path.id
- text: Revoke direct permission {permission_id} held by person {id}.
slots:
permission_id: path.permission_id
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/workspaces/{workspace_id}/roles'].get
update:
x-apievangelist-phrasing:
intent: List a user's roles in one workspace
effect: read
questions:
- Which roles does a person hold inside one particular workspace?
- Is a user a workspace admin in a given workspace?
instructions:
- text: List the roles user {id} holds in workspace {workspace_id}.
slots:
id: path.id
workspace_id: path.workspace_id
- text: Show workspace-scoped role grants for person {id} in {workspace_id}.
slots:
id: path.id
workspace_id: path.workspace_id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/workspaces/{workspace_id}/roles'].post
update:
x-apievangelist-phrasing:
intent: Grant a workspace role to a user
effect: write
questions:
- How do I make a person a workspace_admin in one workspace?
- Can I assign a custom access role to a user for a single workspace?
instructions:
- text: Grant role {role_id} to user {id} in workspace {workspace_id}.
slots:
role_id: requestBody.role_id
id: path.id
workspace_id: path.workspace_id
- text: Make person {id} a workspace admin of {workspace_id} with role {role_id}.
slots:
id: path.id
workspace_id: path.workspace_id
role_id: requestBody.role_id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{id}/workspaces/{workspace_id}/roles/{role_id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a workspace role from a user
effect: destructive
questions:
- How do I take a workspace role away from a person in one workspace?
- Can I strip workspace admin rights from a user without affecting other workspaces?
instructions:
- text: Remove role {role_id} from user {id} in workspace {workspace_id}.
slots:
role_id: path.role_id
id: path.id
workspace_id: path.workspace_id
- text: Revoke workspace {workspace_id} role {role_id} from person {id}.
slots:
workspace_id: path.workspace_id
role_id: path.role_id
id: path.id
method: generated
generated: '2026-09-26'