Tenable · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Tenable Platform & Settings Scanner Groups API

11 actions 11 updates phrasing extends openapi/tenable-scanner-groups-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['/scanner-groups'].get
$.paths['/scanner-groups'].post
$.paths['/scanner-groups/{group_id}'].get
$.paths['/scanner-groups/{group_id}'].put
$.paths['/scanner-groups/{group_id}'].delete
$.paths['/scanner-groups/{group_id}/scanners'].get
$.paths['/scanner-groups/{group_id}/scanners/{scanner_id}'].post
$.paths['/scanner-groups/{group_id}/scanners/{scanner_id}'].delete
$.paths['/scanner-groups/{group_id}/routes'].get
$.paths['/scanner-groups/{group_id}/routes'].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 Tenable Platform & Settings Scanner Groups API
  version: 1.0.0
extends: openapi/tenable-scanner-groups-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['/scanner-groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List scanner groups
      effect: read
      questions:
      - Which scanner groups exist in my Tenable Vulnerability Management instance?
      - What scanner pools do I already have configured?
      instructions:
      - text: List all my scanner groups.
      - text: Show me every scanner pool in the workspace.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a scanner group
      effect: write
      questions:
      - How do I create a new group to pool several scanners together?
      - Which network does a newly created scanner group get assigned to?
      instructions:
      - text: Create a scanner group named {name}.
        slots:
          name: requestBody.name
      - text: Create a {type} scanner group called {name}.
        slots:
          type: requestBody.type
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get scanner group details
      effect: read
      questions:
      - What are the details of one particular scanner group?
      - Does the scanner group details call include its scan routes?
      instructions:
      - text: Show details for scanner group {group_id}.
        slots:
          group_id: path.group_id
      - text: Get the settings of scanner group {group_id}.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename a scanner group
      effect: write
      questions:
      - How do I rename an existing scanner group?
      - Can I move a scanner group to another network by editing it?
      instructions:
      - text: Rename scanner group {group_id} to {name}.
        slots:
          group_id: path.group_id
          name: requestBody.name
      - text: Update the name of scanner group {group_id} to {name}.
        slots:
          group_id: path.group_id
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a scanner group
      effect: destructive
      questions:
      - How do I remove a scanner group I no longer use?
      - What privilege do I need to delete a scanner group?
      instructions:
      - text: Delete scanner group {group_id}.
        slots:
          group_id: path.group_id
      - text: Remove the scanner pool {group_id} entirely.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}/scanners'].get
  update:
    x-apievangelist-phrasing:
      intent: List the scanners in a scanner group
      effect: read
      questions:
      - Which scanners belong to a given scanner group?
      - Can I check that a scanner was added to a group?
      instructions:
      - text: List the scanners in scanner group {group_id}.
        slots:
          group_id: path.group_id
      - text: Show me which scanners are members of group {group_id}.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}/scanners/{scanner_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a scanner to a scanner group
      effect: write
      questions:
      - How do I put a scanner into an existing scanner group?
      - Can one scanner be added to a scanner pool by its ID?
      instructions:
      - text: Add scanner {scanner_id} to scanner group {group_id}.
        slots:
          scanner_id: path.scanner_id
          group_id: path.group_id
      - text: Put scanner {scanner_id} into the {group_id} pool.
        slots:
          scanner_id: path.scanner_id
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}/scanners/{scanner_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a scanner from a scanner group
      effect: destructive
      questions:
      - How do I take a scanner out of a scanner group without deleting the group?
      - Can I pull a single scanner from a pool?
      instructions:
      - text: Remove scanner {scanner_id} from scanner group {group_id}.
        slots:
          scanner_id: path.scanner_id
          group_id: path.group_id
      - text: Take scanner {scanner_id} out of the {group_id} pool.
        slots:
          scanner_id: path.scanner_id
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}/routes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a scanner group's scan routes
      effect: read
      questions:
      - Which hostnames and IP ranges are routed to a scanner group in auto-routed scans?
      - What scan routes does this scanner group currently match?
      instructions:
      - text: List the scan routes for scanner group {group_id}.
        slots:
          group_id: path.group_id
      - text: Show the hostnames and IP ranges routed to group {group_id}.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/scanner-groups/{group_id}/routes'].put
  update:
    x-apievangelist-phrasing:
      intent: Set a scanner group's scan routes
      effect: write
      questions:
      - How do I change which targets get auto-routed to a scanner group?
      - Can scan routes include hostname wildcards and IP ranges?
      instructions:
      - text: Set the scan routes for scanner group {group_id} to {routes}.
        slots:
          group_id: path.group_id
          routes: requestBody.routes
      - text: Route targets {routes} to scanner group {group_id} for auto-routed scans.
        slots:
          routes: requestBody.routes
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'