Dynatrace · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Dynatrace Account Management Users API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/iam/v1/accounts/{accountUuid}/users'].get
$.paths['/iam/v1/accounts/{accountUuid}/users'].post
$.paths['/iam/v1/accounts/{accountUuid}/users/{userId}'].get
$.paths['/iam/v1/accounts/{accountUuid}/users/{userId}'].put
$.paths['/iam/v1/accounts/{accountUuid}/users/{userId}'].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 Dynatrace Account Management Users API
  version: 1.0.0
extends: openapi/dynatrace-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: 5
- target: $.paths['/iam/v1/accounts/{accountUuid}/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List users with profiles and memberships
      effect: read
      questions:
      - Which people are in my account and what groups are they in?
      - Can I page through account users with their profile info?
      instructions:
      - text: List the users and their group memberships in account {account}.
        slots:
          account: path.accountUuid
      - text: Show {size} users per page for account {account}.
        slots:
          size: query.pageSize
          account: path.accountUuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iam/v1/accounts/{accountUuid}/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a user and send an invitation
      effect: write
      questions:
      - How do I invite a new user with their first and last name?
      - Can I assign groups at the moment I create a user?
      instructions:
      - text: Invite {first} {last} at {email} to account {account}.
        slots:
          first: requestBody.firstName
          last: requestBody.lastName
          email: requestBody.email
          account: path.accountUuid
      - text: Create user {email} ({first} {last}) in {account} and add them to groups {groups}.
        slots:
          email: requestBody.email
          first: requestBody.firstName
          last: requestBody.lastName
          account: path.accountUuid
          groups: requestBody.groups
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iam/v1/accounts/{accountUuid}/users/{userId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's profile
      effect: read
      questions:
      - What profile information do we hold for a particular user?
      - Can I fetch one user by ID or email?
      instructions:
      - text: Get user {user} in account {account}.
        slots:
          user: path.userId
          account: path.accountUuid
      - text: Show the profile of {user} on {account}.
        slots:
          user: path.userId
          account: path.accountUuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iam/v1/accounts/{accountUuid}/users/{userId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a user's profile and groups
      effect: write
      questions:
      - Can I correct a user's name and reset their groups in one update?
      - Does updating a user replace the whole record?
      instructions:
      - text: Update user {user} in {account} to {first} {last}, email {email}.
        slots:
          user: path.userId
          account: path.accountUuid
          first: requestBody.firstName
          last: requestBody.lastName
          email: requestBody.email
      - text: Replace user {user}'s record on {account} with email {email}, name {first} {last}, groups {groups}.
        slots:
          user: path.userId
          account: path.accountUuid
          email: requestBody.email
          first: requestBody.firstName
          last: requestBody.lastName
          groups: requestBody.groups
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iam/v1/accounts/{accountUuid}/users/{userId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a user
      effect: destructive
      questions:
      - Does deleting a user cut off their access to every environment immediately?
      - Can I permanently delete a user by user ID?
      instructions:
      - text: Permanently delete user {user} from account {account}.
        slots:
          user: path.userId
          account: path.accountUuid
      - text: Delete the user record {user} on {account}.
        slots:
          user: path.userId
          account: path.accountUuid
      method: generated
      generated: '2026-09-26'