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.
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
# 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'