Tenable · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Identity Exposure Directory API

8 actions 8 updates phrasing extends openapi/tenable-directory-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 8

$.info
$.paths['/api/directories'].get
$.paths['/api/directories'].post
$.paths['/api/directories/{id}'].get
$.paths['/api/infrastructures/{infrastructureId}/directories'].get
$.paths['/api/infrastructures/{infrastructureId}/directories/{id}'].get
$.paths['/api/infrastructures/{infrastructureId}/directories/{id}'].delete
$.paths['/api/infrastructures/{infrastructureId}/directories/{id}'].patch

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 Directory API
  version: 1.0.0
extends: openapi/tenable-directory-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: 7
- target: $.paths['/api/directories'].get
  update:
    x-apievangelist-phrasing:
      intent: List all monitored directories
      effect: read
      questions:
      - Which AD domains is Identity Exposure monitoring across all forests?
      - Can I list every directory in one call?
      instructions:
      - text: List all directories.
      - text: Show every monitored domain across forests.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/directories'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a directory to monitor
      effect: write
      questions:
      - How do I start monitoring a new Active Directory domain?
      - Can I add a domain to an existing forest?
      instructions:
      - text: Add a new directory to monitor.
      - text: Register another AD domain with Identity Exposure.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/directories/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a directory
      effect: read
      questions:
      - How do I fetch a domain's settings by directory id alone?
      - What IP and ports are configured for a directory?
      instructions:
      - text: Get directory {id}.
        slots:
          id: path.id
      - text: Show settings for directory {id} without its forest.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/infrastructures/{infrastructureId}/directories'].get
  update:
    x-apievangelist-phrasing:
      intent: List directories in a forest
      effect: read
      questions:
      - Which domains belong to a given forest?
      - Can I list directories for one infrastructure only?
      instructions:
      - text: List directories in forest {infrastructureId}.
        slots:
          infrastructureId: path.infrastructureId
      - text: Show the domains of infrastructure {infrastructureId}.
        slots:
          infrastructureId: path.infrastructureId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/infrastructures/{infrastructureId}/directories/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a directory within a forest
      effect: read
      questions:
      - How do I look up a domain through its forest?
      - Which call returns a directory scoped to its infrastructure?
      instructions:
      - text: Get directory {id} in forest {infrastructureId}.
        slots:
          id: path.id
          infrastructureId: path.infrastructureId
      - text: Show domain {id} under infrastructure {infrastructureId}.
        slots:
          id: path.id
          infrastructureId: path.infrastructureId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/infrastructures/{infrastructureId}/directories/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Stop monitoring a directory
      effect: destructive
      questions:
      - How do I remove a domain from Identity Exposure?
      - Can I delete a directory I no longer need to monitor?
      instructions:
      - text: Delete directory {id} from forest {infrastructureId}.
        slots:
          id: path.id
          infrastructureId: path.infrastructureId
      - text: Remove domain {id} of infrastructure {infrastructureId}.
        slots:
          id: path.id
          infrastructureId: path.infrastructureId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/infrastructures/{infrastructureId}/directories/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a directory's connection
      effect: write
      questions:
      - Can I change the domain controller IP for a directory?
      - How do I change the LDAP or SMB port used for a domain?
      - Is it possible to route a directory through a relay?
      instructions:
      - text: Set directory {id} in forest {infrastructureId} to IP {ip}.
        slots:
          id: path.id
          infrastructureId: path.infrastructureId
          ip: requestBody.ip
      - text: Change LDAP port to {ldapPort} and SMB port to {smbPort} on directory {id} of {infrastructureId}.
        slots:
          ldapPort: requestBody.ldapPort
          smbPort: requestBody.smbPort
          id: path.id
          infrastructureId: path.infrastructureId
      - text: Route directory {id} in forest {infrastructureId} through relay {relayId}.
        slots:
          id: path.id
          infrastructureId: path.infrastructureId
          relayId: requestBody.relayId
      method: generated
      generated: '2026-10-01'