Atlassian · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Atlassian Users API

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

What the actions change

x-apievangelist-phrasing

Targets 38 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/orgs/{orgId}/users'].get
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users'].get
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}'].get
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}'].delete
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/count'].get
$.paths['/v2/orgs/{orgId}/users/invite'].post
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/suspend'].post
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/restore'].post
$.paths['/v1/orgs/{orgId}/users/{userId}/roles/assign'].post
$.paths['/v1/orgs/{orgId}/users/{userId}/roles/revoke'].post
$.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/role-assignments'].get
$.paths['/v1/orgs/{orgId}/users/{userId}/role-assignments/assign'].post
$.paths['/v1/orgs/{orgId}/users/{userId}/role-assignments/revoke'].post
$.paths['/user'].get
$.paths['/user/emails'].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 Atlassian Users API
  version: 1.0.0
extends: openapi/atlassian-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: 37
- target: $.paths['/v1/orgs/{orgId}/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List managed accounts in an organization
      effect: read
      questions:
      - Which user accounts does my Atlassian organization manage?
      - Can I page through every managed account in an org with a cursor?
      instructions:
      - text: List the managed accounts in organization {orgId}.
        slots:
          orgId: path.orgId
      - text: Get the next page of managed accounts in org {orgId} after cursor {cursor}.
        slots:
          orgId: path.orgId
          cursor: query.cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List users in an organization directory
      effect: read
      questions:
      - Who are the users in a specific directory of my organization?
      - Can I list directory members one page at a time?
      instructions:
      - text: List the users in directory {directoryId} of org {orgId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
      - text: Continue listing directory {directoryId} users in org {orgId} from cursor {cursor}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
          cursor: query.cursor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one user's details in a directory
      effect: read
      questions:
      - What details does the org directory hold for a single user account?
      - Can I look up one person in a directory by their account ID?
      instructions:
      - text: Show directory details for account {accountId} in directory {directoryId} of org {orgId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
          accountId: path.accountId
      - text: Pull up the directory record for user {accountId} (org {orgId}, directory {directoryId}).
        slots:
          accountId: path.accountId
          orgId: path.orgId
          directoryId: path.directoryId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a user from a directory
      effect: destructive
      questions:
      - How do I take someone out of a directory in my Atlassian organization?
      - Is removing a user from a directory different from suspending them?
      instructions:
      - text: Remove account {accountId} from directory {directoryId} in org {orgId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
          accountId: path.accountId
      - text: Take user {accountId} out of org {orgId}'s directory {directoryId}.
        slots:
          accountId: path.accountId
          orgId: path.orgId
          directoryId: path.directoryId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count the users in a directory
      effect: read
      questions:
      - How many users are in one of my organization's directories?
      - Can I get just a headcount for a directory without listing everyone?
      instructions:
      - text: Count the users in directory {directoryId} of org {orgId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
      - text: Tell me how many people are in org {orgId}'s directory {directoryId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/users/invite'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite people to an organization
      effect: write
      questions:
      - Can I invite several people to my organization by email at once?
      - Is it possible to put invitees straight into groups and product roles when inviting them?
      instructions:
      - text: Invite {emails} to organization {orgId}.
        slots:
          emails: requestBody.emails
          orgId: path.orgId
      - text: Invite {emails} to org {orgId} and add them to groups {groupIds}.
        slots:
          emails: requestBody.emails
          orgId: path.orgId
          groupIds: requestBody.groupIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/suspend'].post
  update:
    x-apievangelist-phrasing:
      intent: Suspend a user's access in a directory
      effect: destructive
      questions:
      - How do I temporarily cut off a user's access without removing them?
      - Can access be suspended for just one directory in the organization?
      instructions:
      - text: Suspend access for account {accountId} in directory {directoryId} of org {orgId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
          accountId: path.accountId
      - text: Temporarily block user {accountId} in org {orgId}'s directory {directoryId}.
        slots:
          accountId: path.accountId
          orgId: path.orgId
          directoryId: path.directoryId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/restore'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a suspended user's access
      effect: write
      questions:
      - How do I give a suspended user their access back?
      - Can I reactivate someone I suspended in a directory?
      instructions:
      - text: Restore access for suspended account {accountId} in directory {directoryId} of org {orgId}.
        slots:
          orgId: path.orgId
          directoryId: path.directoryId
          accountId: path.accountId
      - text: Lift the suspension on user {accountId} in org {orgId}'s directory {directoryId}.
        slots:
          accountId: path.accountId
          orgId: path.orgId
          directoryId: path.directoryId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/orgs/{orgId}/users/{userId}/roles/assign'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant a user product access via roles
      effect: write
      questions:
      - How can I give a user access to Jira or Confluence from the organization admin?
      - Which roles do I pass to grant someone product access?
      instructions:
      - text: Grant user {userId} in org {orgId} product access with roles {roles}.
        slots:
          userId: path.userId
          orgId: path.orgId
          roles: requestBody.roles
      - text: Give user {userId} in org {orgId} the product roles {roles}.
        slots:
          userId: path.userId
          orgId: path.orgId
          roles: requestBody.roles
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/orgs/{orgId}/users/{userId}/roles/revoke'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke a user's product access
      effect: destructive
      questions:
      - Can I take away a user's access to a specific Atlassian product?
      - What happens to product access when I remove a user's product roles?
      instructions:
      - text: Revoke product roles {roles} from user {userId} in org {orgId}.
        slots:
          roles: requestBody.roles
          userId: path.userId
          orgId: path.orgId
      - text: Take away product access {roles} from user {userId} in org {orgId}.
        slots:
          roles: requestBody.roles
          userId: path.userId
          orgId: path.orgId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/role-assignments'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's role assignments
      effect: read
      questions:
      - Which roles is a particular directory user assigned?
      - Can I audit what roles one person holds in my organization?
      instructions:
      - text: List role assignments for account {accountId} in directory {directoryId} of org {orgId}.
        slots:
          accountId: path.accountId
          directoryId: path.directoryId
          orgId: path.orgId
      - text: Show which roles user {accountId} holds in org {orgId}'s directory {directoryId}.
        slots:
          accountId: path.accountId
          orgId: path.orgId
          directoryId: path.directoryId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/orgs/{orgId}/users/{userId}/role-assignments/assign'].post
  update:
    x-apievangelist-phrasing:
      intent: Assign an organization-level role to a user
      effect: write
      questions:
      - How do I make a user an organization admin-level role holder?
      - Can I assign an org-wide role rather than a product role?
      instructions:
      - text: Assign organization role {role} to user {userId} in org {orgId}.
        slots:
          role: requestBody.role
          userId: path.userId
          orgId: path.orgId
      - text: Make user {userId} an org-level {role} in organization {orgId}.
        slots:
          role: requestBody.role
          userId: path.userId
          orgId: path.orgId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/orgs/{orgId}/users/{userId}/role-assignments/revoke'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove an organization-level role from a user
      effect: destructive
      questions:
      - Can I strip an org-level role from a user while leaving their product access?
      - What's the way to demote someone from an organization role?
      instructions:
      - text: Remove organization role {role} from user {userId} in org {orgId}.
        slots:
          role: requestBody.role
          userId: path.userId
          orgId: path.orgId
      - text: Revoke the org-level {role} role held by user {userId} in organization {orgId}.
        slots:
          role: requestBody.role
          userId: path.userId
          orgId: path.orgId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/user'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the signed-in Bitbucket user
      effect: read
      questions:
      - Who am I authenticated as in Bitbucket?
      - Can I check which Bitbucket account my token belongs to?
      instructions:
      - text: Show my Bitbucket user profile.
      - text: Tell me which Bitbucket account is currently logged in.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/user/emails'].get
  update:
    x-apievangelist-phrasing:
      intent: List my Bitbucket email addresses
      effect: read
      questions:
      - Which email addresses are on my Bitbucket account, including unconfirmed ones?
      - Can I see all the emails tied to my own Bitbucket login?
      instructions:
      - text: List all email addresses on my Bitbucket account.
      - text: Show my confirmed and unconfirmed Bitbucket emails.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/user/emails/{email}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check one of my Bitbucket email addresses
      effect: read
      questions:
      - Is a given email on my Bitbucket account confirmed?
      - Can I tell whether a specific address is my primary Bitbucket email?
      instructions:
      - text: Check whether {email} is confirmed and primary on my Bitbucket account.
        slots:
          email: path.email
      - text: Show the details of my Bitbucket email {email}.
        slots:
          email: path.email
      method: generated
      generated: '2026-10-01'
- target: $.paths['/users/{selected_user}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Bitbucket user's public profile
      effect: read
      questions:
      - What public profile info can I see for another Bitbucket user?
      - Why are location and website missing from some Bitbucket user profiles?
      instructions:
      - text: Get the public Bitbucket profile for {selected_user}.
        slots:
          selected_user: path.selected_user
      - text: Look up Bitbucket user {selected_user} and show their public info.
        slots:
          selected_user: path.selected_user
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Confluence user by account ID
      effect: read
      questions:
      - How can I look up a Confluence user's display name and profile picture?
      - Can I fetch a Confluence user record from their account ID?
      instructions:
      - text: Get the Confluence user with account ID {accountId}.
        slots:
          accountId: query.accountId
      - text: Fetch Confluence user {accountId} expanded with {expand}.
        slots:
          accountId: query.accountId
          expand: query.expand
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user/anonymous'].get
  update:
    x-apievangelist-phrasing:
      intent: See how Confluence shows anonymous users
      effect: read
      questions:
      - What display name and picture does Confluence use for anonymous visitors?
      - Can I see how anonymous users are represented on my Confluence site?
      instructions:
      - text: Show how anonymous users are represented in Confluence.
      - text: Get the Confluence anonymous user representation expanded with {expand}.
        slots:
          expand: query.expand
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user/current'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the logged-in Confluence user
      effect: read
      questions:
      - Which Confluence account is my API call running as?
      - Can I get my own Confluence userKey and account ID?
      instructions:
      - text: Show the currently logged-in Confluence user.
      - text: Get my Confluence user details expanded with {expand}.
        slots:
          expand: query.expand
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user/memberof'].get
  update:
    x-apievangelist-phrasing:
      intent: List a Confluence user's group memberships
      effect: read
      questions:
      - Which Confluence groups does a given user belong to?
      - Can I page through a user's Confluence group memberships?
      instructions:
      - text: List the Confluence groups that account {accountId} is a member of.
        slots:
          accountId: query.accountId
      - text: Show up to {limit} Confluence groups that user {accountId} belongs to.
        slots:
          limit: query.limit
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user/bulk'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up several Confluence users at once
      effect: read
      questions:
      - Can I fetch details for many Confluence users in one request?
      - Is there a limit on how many Confluence users a bulk lookup returns?
      instructions:
      - text: Look up Confluence user details for account IDs {accountId}.
        slots:
          accountId: query.accountId
      - text: Fetch up to {limit} Confluence users in bulk for IDs {accountId}.
        slots:
          limit: query.limit
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user/email'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Confluence user's email address
      effect: read
      questions:
      - Can an approved app read a Confluence user's email address?
      - Why does reading a Confluence user's email need Atlassian approval?
      instructions:
      - text: Get the Confluence email address for account {accountId}.
        slots:
          accountId: query.accountId
      - text: Look up the email of Confluence user {accountId} for my approved app.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/wiki/rest/api/user/email/bulk'].get
  update:
    x-apievangelist-phrasing:
      intent: Get Confluence email addresses in a batch
      effect: read
      questions:
      - Can my approved app pull Confluence email addresses for a set of account IDs at once?
      - What's the batch way to read several Confluence users' emails?
      instructions:
      - text: Get Confluence email addresses for accounts {accountId} in one batch.
        slots:
          accountId: query.accountId
      - text: Batch-fetch Confluence user emails for the account IDs {accountId}.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Jira user
      effect: read
      questions:
      - How do I look up a Jira user by account ID?
      - Why might a Jira user's email be hidden when I fetch them?
      instructions:
      - text: Get the Jira user with account ID {accountId}.
        slots:
          accountId: query.accountId
      - text: Fetch Jira user {accountId} including {expand}.
        slots:
          accountId: query.accountId
          expand: query.expand
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a Jira user
      effect: write
      questions:
      - Can I add a new user to Jira by email address through the API?
      - Which Jira products can I give a user when I create them?
      instructions:
      - text: Create a Jira user for {emailAddress}.
        slots:
          emailAddress: requestBody.emailAddress
      - text: Create Jira user {emailAddress} with access to products {products}.
        slots:
          emailAddress: requestBody.emailAddress
          products: requestBody.products
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a user from Jira
      effect: destructive
      questions:
      - Does deleting a user from Jira also delete their Atlassian account?
      - Who is allowed to remove a user from Jira's user base?
      instructions:
      - text: Delete Jira user {accountId}.
        slots:
          accountId: query.accountId
      - text: Remove account {accountId} from Jira's user base, keeping their Atlassian account.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/bulk'].get
  update:
    x-apievangelist-phrasing:
      intent: Get several Jira users by account ID
      effect: read
      questions:
      - Can I fetch a batch of Jira users by their account IDs in one call?
      - What's the paginated way to resolve a list of Jira account IDs to users?
      instructions:
      - text: Get the Jira users with account IDs {accountId}.
        slots:
          accountId: query.accountId
      - text: Get up to {maxResults} Jira users for account IDs {accountId}.
        slots:
          maxResults: query.maxResults
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/bulk/migration'].get
  update:
    x-apievangelist-phrasing:
      intent: Map Jira usernames or keys to account IDs
      effect: read
      questions:
      - How do I convert old Jira usernames into account IDs?
      - Can I look up account IDs for several user keys at once during a migration?
      instructions:
      - text: Get account IDs for Jira usernames {username}.
        slots:
          username: query.username
      - text: Resolve Jira user keys {key} to account IDs.
        slots:
          key: query.key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/columns'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's default issue table columns
      effect: read
      questions:
      - Which issue table columns does a Jira user see by default?
      - Can I read my own default issue navigator columns?
      instructions:
      - text: Show my default Jira issue table columns.
      - text: Get the default issue table columns for account {accountId}.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/columns'].put
  update:
    x-apievangelist-phrasing:
      intent: Set a user's default issue table columns
      effect: write
      questions:
      - Can I choose which columns appear by default in a user's Jira issue table?
      - What happens if I send no columns when setting a user's defaults?
      instructions:
      - text: Set my default issue table columns to {columns}.
        slots:
          columns: requestBody.columns
      - text: Set default issue table columns {columns} for account {accountId}.
        slots:
          columns: requestBody.columns
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/columns'].delete
  update:
    x-apievangelist-phrasing:
      intent: Reset a user's issue table columns to default
      effect: destructive
      questions:
      - How do I put a user's Jira issue table columns back to the system default?
      - Can I undo custom column choices for my own issue table?
      instructions:
      - text: Reset my issue table columns to the system default.
      - text: Reset the issue table columns for account {accountId} to the system default.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/email'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Jira user's email address
      effect: read
      questions:
      - Can an approved app read the email address of a single Jira user?
      - Which apps are allowed to see a Jira user's email?
      instructions:
      - text: Get the Jira email address for account {accountId}.
        slots:
          accountId: query.accountId
      - text: Look up the email of Jira user {accountId} for my approved app.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/email/bulk'].get
  update:
    x-apievangelist-phrasing:
      intent: Get Jira user email addresses in bulk
      effect: read
      questions:
      - Can my approved app read emails for several Jira accounts in a single call?
      - Is there a bulk version of the Jira user email lookup?
      instructions:
      - text: Get Jira email addresses for accounts {accountId} in bulk.
        slots:
          accountId: query.accountId
      - text: Bulk-fetch Jira user emails for account IDs {accountId}.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/user/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List the Jira groups a user belongs to
      effect: read
      questions:
      - Which Jira groups is a given user a member of?
      - What permission do I need to see a user's Jira groups?
      instructions:
      - text: List the Jira groups for account {accountId}.
        slots:
          accountId: query.accountId
      - text: Show which Jira groups user {accountId} is in.
        slots:
          accountId: query.accountId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List all Jira users (default endpoint)
      effect: read
      questions:
      - Can I list every Jira user, including inactive and deleted ones, from the /users endpoint?
      - Does the default all-users list in Jira include deactivated accounts?
      instructions:
      - text: List all Jira users using the default /users endpoint.
      - text: List {maxResults} Jira users from the default users endpoint starting at {startAt}.
        slots:
          maxResults: query.maxResults
          startAt: query.startAt
      method: generated
      generated: '2026-10-01'
- target: $.paths['/rest/api/3/users/search'].get
  update:
    x-apievangelist-phrasing:
      intent: List all Jira users via the users search endpoint
      effect: read
      questions:
      - What does the Jira users/search endpoint return when I page through everyone?
      - Can I page through all Jira accounts using the users search resource?
      instructions:
      - text: Page through all Jira users with the users/search endpoint.
      - text: Get {maxResults} users from Jira users/search starting at {startAt}.
        slots:
          maxResults: query.maxResults
          startAt: query.startAt
      method: generated
      generated: '2026-10-01'