Tenable · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Vulnerability Management Scan Tasks API
8 actions
8 updates
phrasing
extends
openapi/tenable-scan-tasks-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.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/scans/{scan_id}/schedule'].put
$.paths['/scans/{scan_id}/copy'].post
$.paths['/scans/{scan_id}/credentials/{credentials_id}/upgrade'].post
$.paths['/scans/import'].post
$.paths['/scans/count'].get
$.paths['/scans/timezones'].get
$.paths['/scans/check-auto-targets'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Vulnerability Management Scan Tasks API
version: 1.0.0
extends: openapi/tenable-scan-tasks-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['/scans/{scan_id}/schedule'].put
update:
x-apievangelist-phrasing:
intent: Enable or disable a scan schedule
effect: write
questions:
- Can I pause a recurring scan's schedule without deleting the scan?
- How do I turn a scan's schedule back on?
instructions:
- text: Set the schedule of scan {scan_id} enabled to {enabled}.
slots:
scan_id: path.scan_id
enabled: requestBody.enabled
- text: Disable the recurring schedule on scan {scan_id}.
slots:
scan_id: path.scan_id
method: generated
generated: '2026-10-01'
- target: $.paths['/scans/{scan_id}/copy'].post
update:
x-apievangelist-phrasing:
intent: Copy a scan
effect: write
questions:
- Can I duplicate an existing scan configuration?
- Is it possible to put a copied scan into a different folder?
instructions:
- text: Copy scan {scan_id}.
slots:
scan_id: path.scan_id
- text: Copy scan {scan_id} as {name} into folder {folder_id}.
slots:
scan_id: path.scan_id
name: requestBody.name
folder_id: requestBody.folder_id
method: generated
generated: '2026-10-01'
- target: $.paths['/scans/{scan_id}/credentials/{credentials_id}/upgrade'].post
update:
x-apievangelist-phrasing:
intent: Convert scan credentials to managed ones
effect: write
questions:
- Can I turn a credential stored inside a scan into a reusable managed credential?
- What do I need to supply to upgrade scan-specific credentials?
instructions:
- text: Convert credential {credentials_id} in scan {scan_id} to a managed credential named {name}.
slots:
credentials_id: path.credentials_id
scan_id: path.scan_id
name: requestBody.name
- text: Upgrade scan {scan_id} credential {credentials_id} to managed credential {name} of type {type}, category {category}, settings {settings}, ad hoc {ad_hoc}.
slots:
scan_id: path.scan_id
credentials_id: path.credentials_id
name: requestBody.name
type: requestBody.type
category: requestBody.category
settings: requestBody.settings
ad_hoc: requestBody.ad_hoc
method: generated
generated: '2026-10-01'
- target: $.paths['/scans/import'].post
update:
x-apievangelist-phrasing:
intent: Import a previously uploaded scan
effect: write
questions:
- How do I import a .nessus file I already uploaded?
- What's the maximum size of a scan I can import?
instructions:
- text: Import uploaded scan file {file}.
slots:
file: requestBody.file
- text: Import scan file {file} into folder {folder_id}.
slots:
file: requestBody.file
folder_id: requestBody.folder_id
method: generated
generated: '2026-10-01'
- target: $.paths['/scans/count'].get
update:
x-apievangelist-phrasing:
intent: Count scans in the container
effect: read
questions:
- How many scans exist in my container?
- How close am I to the active scan limit right now?
instructions:
- text: Count all scans in my container.
- text: Count only active scans with active set to {active}.
slots:
active: query.active
method: generated
generated: '2026-10-01'
- target: $.paths['/scans/timezones'].get
update:
x-apievangelist-phrasing:
intent: List timezones for scan schedules
effect: read
questions:
- Which timezone values are valid for a recurring scan schedule?
- What timezone names does the scheduler accept?
instructions:
- text: List the timezones I can use when scheduling a scan.
- text: Show valid scan schedule timezones.
method: generated
generated: '2026-10-01'
- target: $.paths['/scans/check-auto-targets'].post
update:
x-apievangelist-phrasing:
intent: Test which scanner groups route targets
effect: read
questions:
- Which scanner groups would pick up these targets under my scan routing?
- Are any of my targets missed by every scanner group's routes?
instructions:
- text: Test scan routes for targets {target_list} in network {network_uuid}.
slots:
target_list: requestBody.target_list
network_uuid: requestBody.network_uuid
- text: Check which scanner groups match tags {tags} in network {network_uuid}.
slots:
tags: requestBody.tags
network_uuid: requestBody.network_uuid
method: generated
generated: '2026-10-01'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/tenable-scan-tasks-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.