Tenable · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Identity Exposure User API

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

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/api/users'].get
$.paths['/api/users'].post
$.paths['/api/users/whoami'].get
$.paths['/api/users/{id}'].get
$.paths['/api/users/{id}'].delete
$.paths['/api/users/{id}'].patch
$.paths['/api/users/password'].patch
$.paths['/api/login'].post
$.paths['/api/logout'].post
$.paths['/api/users/{id}/roles'].put

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 Identity Exposure User API
  version: 1.0.0
extends: openapi/tenable-user-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: 10
- target: $.paths['/api/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List users
      effect: read
      questions:
      - Who has an account on Identity Exposure?
      - Can I list all users?
      instructions:
      - text: List all users.
      - text: Show every user account.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a user
      effect: write
      questions:
      - How do I add a new user account?
      - Can I invite a colleague as a user?
      instructions:
      - text: Create a new user.
      - text: Add a user account for a colleague.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users/whoami'].get
  update:
    x-apievangelist-phrasing:
      intent: Show the signed-in user
      effect: read
      questions:
      - Which user am I authenticated as?
      - What account does my API key belong to?
      instructions:
      - text: Show who I am.
      - text: Get my own user information.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user
      effect: read
      questions:
      - How do I look up a user by id?
      - Is a given user active or locked out?
      instructions:
      - text: Get user {id}.
        slots:
          id: path.id
      - text: Show the account details of user {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a user
      effect: destructive
      questions:
      - How do I remove someone's account?
      - Can I delete a user who left the company?
      instructions:
      - text: Delete user {id}.
        slots:
          id: path.id
      - text: Remove the account of user {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a user's profile or status
      effect: write
      questions:
      - Can I unlock a user who is locked out?
      - How do I change another user's email or department?
      - Can I deactivate a user without deleting them?
      instructions:
      - text: Set lockedOut to {lockedOut} on user {id}.
        slots:
          lockedOut: requestBody.lockedOut
          id: path.id
      - text: Change user {id}'s email to {email}.
        slots:
          id: path.id
          email: requestBody.email
      - text: Set user {id} active to {active}.
        slots:
          id: path.id
          active: requestBody.active
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users/password'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change my password
      effect: write
      questions:
      - How do I change my own password?
      - What rules must a new password meet?
      instructions:
      - text: Change my password from {oldPassword} to {newPassword}.
        slots:
          oldPassword: requestBody.oldPassword
          newPassword: requestBody.newPassword
      - text: Replace my old password {oldPassword} with {newPassword}.
        slots:
          oldPassword: requestBody.oldPassword
          newPassword: requestBody.newPassword
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/login'].post
  update:
    x-apievangelist-phrasing:
      intent: Log in with email and password
      effect: write
      questions:
      - How do I sign in to Identity Exposure with my email?
      - Can I start a session using a password instead of an API key?
      instructions:
      - text: Log in as {email} with password {password}.
        slots:
          email: requestBody.email
          password: requestBody.password
      - text: Sign in user {email} using {password}.
        slots:
          email: requestBody.email
          password: requestBody.password
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/logout'].post
  update:
    x-apievangelist-phrasing:
      intent: Log out
      effect: write
      questions:
      - How do I end my session?
      - Can I sign out through the API?
      instructions:
      - text: Log me out.
      - text: End my current session.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/users/{id}/roles'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a user's roles
      effect: write
      questions:
      - How do I set exactly which roles a user has?
      - Does assigning roles overwrite a user's existing ones?
      instructions:
      - text: Replace the roles of user {id} with {roles}.
        slots:
          id: path.id
          roles: requestBody.roles
      - text: Assign only roles {roles} to user {id}.
        slots:
          roles: requestBody.roles
          id: path.id
      method: generated
      generated: '2026-10-01'