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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'