OutSystems · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for User and Access Management Users API

16 actions 16 updates phrasing extends openapi/outsystems-users-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for OutSystems's API. It is a proposal applied on top of the contract, not a document OutSystems publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 16

$.info
$.paths['/users/bulk'].post
$.paths['/users/bulk/{key}'].get
$.paths['/users/{key}/application-roles/{roleKey}'].post
$.paths['/users/{key}/application-roles/{roleKey}'].delete
$.paths['/users/{key}/application-roles'].get
$.paths['/users/{key}/organization-roles'].get
$.paths['/users/{key}/organization-roles/{roleKey}'].post
$.paths['/users/{key}/organization-roles/{roleKey}'].delete
$.paths['/users/count'].get
$.paths['/users'].get
$.paths['/users'].post
$.paths['/users/{key}'].get
$.paths['/users/{key}'].delete
$.paths['/users/{key}'].patch
$.paths['/users/{key}/groups'].get

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 User and Access Management Users API
  version: 1.0.0
extends: openapi/outsystems-users-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: 15
- target: $.paths['/users/bulk'].post
  update:
    x-apievangelist-phrasing:
      intent: Create users in bulk
      effect: write
      questions:
      - How do I create up to 100 users in one request?
      - Can bulk-created users also be added to the built-in identity provider?
      instructions:
      - text: 'Create these users in bulk: {records}.'
        slots:
          records: requestBody.records
      - text: Bulk-import the user records {records}.
        slots:
          records: requestBody.records
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/bulk/{key}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a bulk user creation's status
      effect: read
      questions:
      - Did my bulk user import finish, and which records failed?
      - How do I check the per-user results of a bulk create?
      instructions:
      - text: Get the status of bulk user operation {key}.
        slots:
          key: path.key
      - text: Show the per-record results of bulk import {key}.
        slots:
          key: path.key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/application-roles/{roleKey}'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant an application role to a user
      effect: write
      questions:
      - How do I give one user an application role?
      - Can I assign an end user to an app role directly, not through a group?
      instructions:
      - text: Grant application role {roleKey} to user {key}.
        slots:
          roleKey: path.roleKey
          key: path.key
      - text: Give user {key} the app role {roleKey}.
        slots:
          key: path.key
          roleKey: path.roleKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/application-roles/{roleKey}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke an application role from a user
      effect: destructive
      questions:
      - How do I take an application role away from a user?
      - Can I remove one user's direct app role assignment?
      instructions:
      - text: Revoke application role {roleKey} from user {key}.
        slots:
          roleKey: path.roleKey
          key: path.key
      - text: Remove app role {roleKey} from user {key}.
        slots:
          roleKey: path.roleKey
          key: path.key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/application-roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's application roles
      effect: read
      questions:
      - Which application roles does a given user have?
      - Can I tell whether a user's app role came directly or via a group?
      instructions:
      - text: List the application roles of user {key}.
        slots:
          key: path.key
      - text: Show user {key}'s application roles for app {assetKey}.
        slots:
          key: path.key
          assetKey: query.assetKey
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/organization-roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's organization roles
      effect: read
      questions:
      - What organization roles does a team member hold?
      - Can I check my own organization roles without extra permissions?
      instructions:
      - text: List the organization roles of user {key}.
        slots:
          key: path.key
      - text: Show user {key}'s organization roles scoped to assets {assetKeys}.
        slots:
          key: path.key
          assetKeys: query.assetKeys
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/organization-roles/{roleKey}'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant an organization role to a user
      effect: write
      questions:
      - How do I give a member an organization role?
      - Can I grant an organization role for a limited period or for specific assets?
      instructions:
      - text: Grant organization role {roleKey} to user {key}.
        slots:
          roleKey: path.roleKey
          key: path.key
      - text: Grant org role {roleKey} to user {key} for {grantPeriod}.
        slots:
          roleKey: path.roleKey
          key: path.key
          grantPeriod: requestBody.grantPeriod
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/organization-roles/{roleKey}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke an organization role from a user
      effect: destructive
      questions:
      - How do I remove an organization role from a member?
      - Can I revoke an organization role only for certain assets?
      instructions:
      - text: Revoke organization role {roleKey} from user {key}.
        slots:
          roleKey: path.roleKey
          key: path.key
      - text: Remove org role {roleKey} from user {key} for assets {assetKeys}.
        slots:
          roleKey: path.roleKey
          key: path.key
          assetKeys: requestBody.assetKeys
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count users
      effect: read
      questions:
      - How many active users do I have in ODC?
      - Can I count users who logged in during a certain period?
      instructions:
      - text: Count all users with status {status}.
        slots:
          status: query.status
      - text: Count users who logged in since {lastLoginAtSince}.
        slots:
          lastLoginAtSince: query.lastLoginAtSince
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List users
      effect: read
      questions:
      - Which users exist in my ODC organization?
      - Can I search users by name, email or username?
      - What users haven't logged in since a given date?
      instructions:
      - text: List users whose name or email contains {nameOrEmailContains}.
        slots:
          nameOrEmailContains: query.nameOrEmailContains
      - text: List users who last logged in before {lastLoginAtTo}.
        slots:
          lastLoginAtTo: query.lastLoginAtTo
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a user
      effect: write
      questions:
      - How do I add a single new user to ODC?
      - Can I add a new user to the built-in identity provider at creation?
      instructions:
      - text: Create user {name} with email {email}.
        slots:
          name: requestBody.name
          email: requestBody.email
      - text: Add user {email} with username {username} to the built-in identity provider.
        slots:
          email: requestBody.email
          username: requestBody.username
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user
      effect: read
      questions:
      - How do I see the profile of one user?
      - What details does ODC return for a user key?
      instructions:
      - text: Get user {key}.
        slots:
          key: path.key
      - text: Show the profile of user {key}.
        slots:
          key: path.key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a user
      effect: destructive
      questions:
      - Can I delete a user from my organization?
      - What permission is required to remove a user?
      instructions:
      - text: Delete user {key}.
        slots:
          key: path.key
      - text: Remove user {key} permanently.
        slots:
          key: path.key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a user's profile
      effect: write
      questions:
      - How do I deactivate a user without deleting them?
      - Can I change a user's display name or photo?
      instructions:
      - text: Rename user {key} to {name}.
        slots:
          key: path.key
          name: requestBody.name
      - text: Set user {key}'s active status to {isActive}.
        slots:
          key: path.key
          isActive: requestBody.isActive
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{key}/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's groups
      effect: read
      questions:
      - Which groups is a given user a member of?
      - Can I list a user's group memberships in one stage?
      instructions:
      - text: List the groups user {key} belongs to.
        slots:
          key: path.key
      - text: Show user {key}'s groups in stage {environmentKey}.
        slots:
          key: path.key
          environmentKey: query.environmentKey
      method: generated
      generated: '2026-10-01'