Tenable Remediation Scans API
The Remediation Scans API from Tenable — 1 operation(s) for remediation scans.
The Remediation Scans API from Tenable — 1 operation(s) for remediation scans.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/tenable-remediation-scans-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
version: 1.0.0
title: Downloads About Remediation Scans API
description: 'The Downloads API enables customers to access and download installation and update files for available Tenable products. You can use the API endpoints to list product pages, list downloads available for a specific product, and to download a file. The endpoints can also be used to determine and download the latest version of a file to facilitate the automation of an installation.
**Note:** The Tenable Downloads API uses a different server URL than the Tenable Vulnerability Management API:
`https://www.tenable.com/downloads/api/v2/pages`.
### Authentication
Like the Downloads website, certain files require authentication to download. When files have a `"requires_auth": true` attribute on the product list page, the Downloads API uses bearer token authentication and requires a valid token in the Authorization header to download the file:
```
Authorization: Bearer AbCdEf123456
```
To access or reset your authentication token, navigate to the [Authentication Token](https://www.tenable.com/downloads/api-docs) page.
Examples of product downloads that **do not** require authentication include Nessus and Nessus Agents.'
servers:
- url: https://www.tenable.com/downloads/api/v2
security:
- Bearer: []
tags:
- name: Remediation Scans
x-displayName: Remediation Scans
paths:
/scans/remediation:
post:
summary: Create remediation scan
description: "Creates a remediation scan configuration. For more information and request body examples, see [Manage Remediation Scans](doc:io-manage-remediation-scans). \n\n**Note:** Tenable Vulnerability Management limits the number of scans you can create to 10,000 scans. Tenable recommends you re-use scheduled scans instead of creating new scans. An HTTP 403 error is returned if you attempt to create a scan after you have already reached the scan limit of 10,000. <div class=\"perms-callout\">Requires the Scan Operator [24] user role or the `VM.VM_REMEDIATION.VM_REMEDIATION.CREATE` custom role privilege. See [Roles](doc:roles).</div>"
operationId: io-scans-remediation-create
tags:
- Remediation Scans
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
uuid:
type: string
description: Specifies the UUID for the Tenable-provided remediation scan template to use. Use the [List templates](ref:editor-list-templates) endpoint with a type of `remediation` to find remediation scan template UUIDs.
example: 9afd5e49-b4a8-4ab3-8c44-4ed329a505c44e51e1f403febe40
settings:
description: 'Specifies the scan settings for the remediation scan. Remediation scans support the same settings as standard scans, with the following exceptions:
* Schedule settings (`enabled`, `starttime`, `rrules`, `timezone`, `launch_now`) are not applicable. Remediation scans are launched on demand only.
* The `folder_id` setting is not applicable. Remediation scans are stored in a dedicated remediation folder.
For a complete description of available settings, see the `settings` object in the [Create scan](ref:scans-create) endpoint.'
allOf:
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings'
credentials:
$ref: '#/components/schemas/Remediation_Scans_request-create-scan-credentials-object'
plugins:
$ref: '#/components/schemas/Remediation_Scans_request-create-and-update-plugins-object'
enabled_plugins:
$ref: '#/components/schemas/Remediation_Scans_enabled_plugins'
required:
- uuid
- settings
responses:
'200':
description: Returned if the remediation scan configuration was created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Remediation_Scans_scan-object-create-update-response'
examples:
response:
value:
scan:
tag_type: null
container_id: 7a818eb1-8351-4795-99b0-9610c8954cb4
owner_uuid: 68f1b7a3-caf0-4ef6-87a5-2d31338ead34
uuid: template-54910541-1016-191c-f92d-fe58f5455d40bbac8a568ec40c26
name: remediationMultiple
description: string
policy_id: 602
scanner_id: null
scanner_uuid: 00000000-0000-0000-0000-00000000000000000000000000001
emails: null
sms: ''
enabled: false
include_aggregate: true
scan_time_window: 0
custom_targets: 192.0.2.1/24
target_network_uuid: null
auto_routed: 0
remediation: 1
starttime: null
rrules: null
timezone: null
notification_filters: null
shared: 0
user_permissions: 128
default_permissions: 0
owner: user@example.com
owner_id: 28
last_modification_date: 1613751173
creation_date: 1613751173
type: public
id: 618
'400':
description: "Returned under the following conditions:\n - If your request message is missing a required parameter.\n - If your request was for a remediation scan and it included a user-defined template. User-defined templates are invalid for remediation scans."
'401':
description: Returned if the API keys specified in your request are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Remediation_Scans_ErrorResponse'
examples:
response:
value:
statusCode: 401
error: Unauthorized
message: Invalid credentials.
'403':
description: Returned if you attempt to create a scan after you have already reached the scan limit of 10,000. Tenable recommends you re-use scheduled scans instead of creating new scans.
'429':
description: Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting).
content:
text/html:
examples:
response:
value: "<html>\n\n<head>\n <title>429 Too Many Requests</title>\n</head>\n\n<body bgcolor=\"white\">\n <center>\n <h1>429 Too Many Requests</h1>\n </center>\n <hr>\n <center>nginx</center>\n</body>\n\n</html>"
'500':
description: Returned if an internal error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Remediation_Scans_ErrorResponse'
examples:
response:
value:
statusCode: 500
error: Internal Server Error
message: An internal server error occurred. Please wait a moment and try your request again.
security:
- Remediation_Scans_cloud: []
get:
summary: List remediation scans
description: "Returns a list of remediation scans where you have at least CAN VIEW [16] scan permissions. \n\n**Note:** Keep in mind potential [rate limits](doc:rate-limiting) when using this endpoint. To check the status of your scans, use the [Get latest scan status](ref:scans-get-latest-status) endpoint. Tenable recommends the [Get latest scan status](ref:scans-get-latest-status) endpoint especially if you are programmatically checking the status of large numbers of scans.<div class=\"perms-callout\">Requires the Basic [16] user role and the Can View [16] scan permission. Alternatively, requires the `VM.VM_REMEDIATION.VM_REMEDIATION.READ` custom role privilege. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>"
operationId: io-scans-remediation-list
tags:
- Remediation Scans
parameters:
- description: Specifies the number of records to retrieve. Minimum value is `1`. Maximum value is `200`. If omitted, the system uses the default value of `50`.
required: false
name: limit
in: query
schema:
type: integer
- description: Specifies the starting record to retrieve. Minimum value is `0`. If omitted, the system uses the default value of `0`.
required: false
name: offset
in: query
schema:
type: integer
- description: 'Specifies the field and order to sort results by. Valid format: `scan_creation_date:desc` or `scan_creation_date:asc`. If omitted, the system uses the default value of `scan_creation_date:desc`.'
required: false
name: sort
in: query
schema:
type: string
enum:
- scan_creation_date:desc
- scan_creation_date:asc
responses:
'200':
description: Returned if the remediation scan list is retrieved successfully.
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/Remediation_Scans_PaginationResponse'
scans:
type: array
items:
$ref: '#/components/schemas/Remediation_Scans_remediation-scan-object-list'
examples:
response:
value:
pagination:
offset: 0
total: 10
sort: scan_creation_date:desc
limit: 1
scans:
- type: ps
uuid: 19270891-9d39-4087-ab1c-887fdf4f31d6
permissions: 128
enabled: false
control: true
read: false
last_modification_date: 1591039287
creation_date: 1591038929
status: completed
shared: false
user_permissions: 128
schedule_uuid: template-0aaf949f-dd1c-a1b6-8de9-7cb934568618f7d3e3bb22b45950
wizard_uuid: 731a8e52-3ea6-a291-ec0a-d2ff0619c19d7bd788d6be818b65
scan_creation_date: 1591032316
owner: user1@example.com
policy_id: 1751
id: 1752
name: Remediation Scan
'401':
description: Returned if the API keys specified in your request are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Remediation_Scans_ErrorResponse'
examples:
response:
value:
statusCode: 401
error: Unauthorized
message: Invalid credentials.
'429':
description: Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting).
content:
text/html:
examples:
response:
value: "<html>\n\n<head>\n <title>429 Too Many Requests</title>\n</head>\n\n<body bgcolor=\"white\">\n <center>\n <h1>429 Too Many Requests</h1>\n </center>\n <hr>\n <center>nginx</center>\n</body>\n\n</html>"
'500':
description: Returned if an internal error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Remediation_Scans_ErrorResponse'
examples:
response:
value:
statusCode: 500
error: Internal Server Error
message: An internal server error occurred. Please wait a moment and try your request again.
security:
- Remediation_Scans_cloud: []
components:
schemas:
Remediation_Scans_settings-scan-triggers:
type: array
description: For Nessus Agent scans, describes the scan triggers used when `agent_scan_launch_type` is set to `triggered`.
items:
type: object
properties:
type:
type: string
description: The type of scan launch trigger (periodic or file-exists).
enum:
- periodic
- file-exists
options:
type: object
properties:
periodic_hourly_interval:
type: integer
description: The number of hours between successive scan launches. This option is only applicable for scan trigger type `periodic`.
minimum: 12
filename:
type: string
description: The name of the file which, when created, will trigger a scan launch. This option is only applicable for scan trigger type `file-exists`.
Remediation_Scans_Request-ScanSettings:
title: Scan Settings
description: Complete scan settings for creating or updating a scan configuration.
type: object
allOf:
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings-Basic'
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings-Schedule'
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings-Discovery'
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings-Assessment'
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings-Report'
- $ref: '#/components/schemas/Remediation_Scans_Request-ScanSettings-Advanced'
Remediation_Scans_request-create-and-update-plugins-object:
description: 'A list of plugins to add to the non-remediation scans. Use the [List plugin families](ref:io-plugins-families-list) endpoint to get a list of plugin families to choose from. Then, use the [List plugins in family](ref:io-plugins-family-details-id) endpoint to find plugins within the family to add to the scan.
**Note:** This form displays limited parameters. The example below illustrates how to add two plugins within the `Web Servers` plugin family to a scan.'
type: object
properties:
Web Servers:
type: object
description: A list of plugin families containing individual plugins to add to the scan. Use the [List plugin families](ref:io-plugins-families-list) endpoint to get a list of plugin families.
properties:
individual:
type: object
description: A list of individual plugins within the specified plugin family.
properties:
'11213':
type: string
description: The status (`enabled` or `disabled`) of the individual plugin within the plugin family to add to the scan.
enum:
- enabled
- disabled
'18261':
type: string
description: The status (`enabled` or `disabled`) of the individual plugin within the plugin family to add to the scan.
enum:
- enabled
- disabled
Remediation_Scans_request-create-scan-credentials-object:
type: object
description: An object that specifies credential parameters that enable a scanner to authenticate a connection to a target host. For more information about using managed credentials with the Tenable Vulnerability Management API, see [Manage Credentials](doc:manage-credentials).
properties:
add:
type: object
description: 'A credentials object you want to add to the scan. For scan-specific credentials, the parameters of the object vary based on credentials category, credentials type, and type-specific settings. For more information, see [Determine Settings for a Credential Type](doc:determine-settings-for-credential-type). For managed credentials, the object contains a single parameter `id`, which specifies the UUID of the managed credentials you want to add.
**Note:** This form displays limited parameters that support a Windows type of credentials that uses password authentication.'
properties:
Host:
type: object
description: "The name of this parameter corresponds to the display name that uniquely identifies the credentials category (in this case, `Host` for credentials from the Host category). This value corresponds to the following response message attributes:\n - `credentials[].data[].name` in the [Get template details](ref:editor-template-details) response message\n - `credentials[].id` in the [List credential types](ref:credentials-list-credential-types) response message"
properties:
Windows:
type: array
description: "The name of this parameter corresponds to the display name that uniquely identifies the credentials type (in this case, `Windows` for a Windows credential). This value corresponds to the following response message attributes:\n - `credentials[].data[].types[].name` in the [Get template details](ref:editor-template-details) response message\n - `credentials[].types[].id` in the [List credential types](ref:credentials-list-credential-types) response message`"
items:
type: object
properties:
domain:
type: string
description: The Windows domain to which the username belongs.
username:
type: string
description: The username on the target system.
auth_method:
type: string
description: The name for the authentication method. This value corresponds to the credentials[].types[].configuration[].options[].id attribute in the response message for the [List credential types](ref:credentials-list-credential-types) endpoint.
enum:
- Password
password:
type: string
description: The user password on the target system.
Remediation_Scans_remediation-scan-object-list:
type: object
properties:
control:
type: boolean
description: If `true`, the scan has a schedule and can be launched.
creation_date:
type: integer
description: For newly-created scans, the date on which the scan configuration was originally created. For scans that have been launched at least once, this attribute does not represent the date on which the scan configuration was originally created. Instead, it represents the date on which the scan was first launched, in Unix time format.
format: int64
enabled:
type: boolean
description: Indicates whether the scan schedule is active (`true`) or inactive (`false`).
id:
type: integer
description: The unique ID of the scan.
format: int32
last_modification_date:
type: integer
description: For newly-created scans, the date on which the scan configuration was created. For scans that have been launched at least once, this attribute does not represent the date on which the scan configuration was last modified. Instead, it represents the date on which the scan was last launched, in Unix time format. Tenable Vulnerability Management updates this attribute each time the scan launches.
format: int64
name:
type: string
description: The name of the scan.
owner:
type: string
description: The owner of the scan.
policy_id:
type: integer
description: The unique ID of the user-defined template (policy) on which the scan configuration is based.
read:
type: boolean
description: A value indicating whether the user account associated with the request message has viewed the scan in the Tenable Vulnerability Management user interface. If `1`, the user account has viewed the scan results.
schedule_uuid:
type: string
description: The UUID for a specific instance in the scan schedule.
shared:
type: boolean
description: If `true`, the scan is shared with users other than the scan owner. The level of sharing is specified in the `acls` attribute of the scan details.
status:
type: string
description: The status of the scan. For a list of possible values, see [Scan Status](doc:scan-status-tio).
template_uuid:
type: string
description: The UUID of the template.
type:
type: string
description: The type of scan.
permissions:
type: integer
description: The requesting user's permissions for the scan.
format: int32
user_permissions:
type: integer
description: The sharing permissions for the scan.
format: int32
uuid:
type: string
description: The UUID of the remediation scan.
wizard_uuid:
type: string
description: The UUID of the Tenable-provided template used to create either the scan or the user-defined template (policy) on which the scan configuration is based.
progress:
type: integer
description: The progress of the scan ranging from 0 to 100.
scan_creation_date:
type: integer
description: The Unix timestamp when the remediation scan run was created.
format: int64
remediation:
type: integer
description: If `1`, your vulnerability remediation actions on scan targets have been successful.
total_targets:
type: integer
description: The total number of targets in the scan.
Remediation_Scans_Request-ScanSettings-Report:
title: Report Settings
description: Settings that control how scan results are reported and displayed.
type: object
properties:
report_verbosity:
type: string
description: '**[Report]** Specifies the level of verbosity in the scan report. `Verbose` reports as much information as possible. `Quiet` reports as little information as possible. When the override toggle is disabled, normal verbosity is used.'
enum:
- Verbose
- Quiet
report_superseded_patches:
type: string
description: '**[Report]** Specifies whether to show missing patches that have been superseded by newer patches.'
enum:
- 'yes'
- 'no'
default: 'yes'
example: 'yes'
silent_dependencies:
type: string
description: '**[Report]** Specifies whether to hide results from plugins that ran only as dependencies of other plugins.'
enum:
- 'yes'
- 'no'
default: 'yes'
reverse_lookup:
type: string
description: '**[Report]** Specifies whether to designate hosts by their DNS name instead of IP address.'
enum:
- 'yes'
- 'no'
default: 'no'
log_live_hosts:
type: string
description: '**[Report]** Specifies whether to display hosts that respond to ping in the report.'
enum:
- 'yes'
- 'no'
default: 'no'
display_unreachable_hosts:
type: string
description: '**[Report]** Specifies whether to display unreachable hosts in the scan results.'
enum:
- 'yes'
- 'no'
default: 'no'
display_unicode_characters:
type: string
description: '**[Report]** Specifies whether to display Unicode characters in scan results.'
enum:
- 'yes'
- 'no'
default: 'no'
Remediation_Scans_enabled_plugins:
type: array
description: 'Specifies a list of plugin IDs to add to a remediation scan. You can use the [List plugin families](ref:io-plugins-families-list) and [List plugins in family](ref:io-plugins-family-details-id) endpoints to find plugin IDs.
**Note:** This parameter provides a simplified alternative to the full `plugins` object for remediation scans. For more information, see [Manage Remediation Scans](doc:io-manage-remediation-scans).'
items:
type: string
description: A plugin ID to include in the remediation scan.
Remediation_Scans_Request-ScanSettings-Advanced:
title: Advanced Settings
description: Settings that control general scan behavior, performance, debugging, compliance output, vulnerability options, and credential handling.
type: object
properties:
safe_checks:
type: string
description: '**[Advanced]** Specifies whether to enable safe checks, which disables plugins that may have adverse effects on the remote host.'
enum:
- 'yes'
- 'no'
default: 'yes'
stop_scan_on_disconnect:
type: string
description: '**[Advanced]** Specifies whether to stop scanning hosts that become unresponsive during the scan.'
enum:
- 'yes'
- 'no'
default: 'no'
slice_network_addresses:
type: string
description: '**[Advanced]** Specifies whether to scan IP addresses in a random order rather than sequentially.'
enum:
- 'yes'
- 'no'
default: 'no'
auto_accept_disclaimer:
type: string
description: '**[Advanced]** Specifies whether to automatically accept detected SSH disclaimer prompts.'
enum:
- 'yes'
- 'no'
default: 'no'
scan.allow_multi_target:
type: string
description: '**[Advanced]** Specifies whether to scan targets with multiple domain names in parallel.'
enum:
- 'yes'
- 'no'
default: 'no'
reduce_connections_on_congestion:
type: string
description: '**[Advanced]** Specifies whether to slow down the scan when network congestion is detected.'
enum:
- 'yes'
- 'no'
default: 'no'
network_receive_timeout:
type: string
description: '**[Advanced]** Specifies the network timeout in seconds for receiving data.'
default: '5'
max_checks_per_host:
type: string
description: '**[Advanced]** Specifies the maximum number of simultaneous checks per host.'
default: '5'
max_hosts_per_scan:
type: string
description: '**[Advanced]** Specifies the maximum number of simultaneous hosts per scan.'
default: '80'
reuse_ssh_connections:
type: string
description: '**[Advanced]** Specifies whether to reuse SSH connections between plugins.'
enum:
- 'yes'
- 'no'
default: 'no'
scan.host_timeout_minutes:
type: string
description: '**[Advanced]** Specifies the maximum scan time per host in minutes. Leave empty for no timeout.'
always_report_ssh_cmds:
type: string
description: '**[Advanced]** Specifies whether to always report SSH commands in the scan results.'
enum:
- 'yes'
- 'no'
default: 'no'
enable_plugin_debugging:
type: string
description: '**[Advanced]** Specifies whether to enable plugin debugging.'
enum:
- 'yes'
- 'no'
default: 'no'
debug_level:
type: string
description: '**[Advanced]** Specifies the debug log level. `1` is Basic Debugging, `2` is Advanced Debugging, `3` is Full Debugging, `4` is Unrestricted Debugging.'
enum:
- '1'
- '2'
- '3'
- '4'
default: '1'
enable_plugin_list:
type: string
description: '**[Advanced]** Specifies whether to enumerate launched plugins in the scan results.'
enum:
- 'yes'
- 'no'
default: 'no'
audit_trail:
type: string
description: '**[Advanced]** Specifies the audit trail verbosity. `full` captures all audit trail data, `partial` captures only scan errors, `none` disables audit trail.'
enum:
- full
- partial
- none
default: full
max_compliance_check_timeout:
type: string
description: '**[Advanced]** Specifies the maximum compliance check timeout in seconds. Primarily used for Windows and Unix compliance check plugins.'
default: '300'
compliance_generate_gold_image:
type: string
description: '**[Advanced]** Specifies whether to generate a gold image .audit file from the compliance scan results.'
enum:
- 'yes'
- 'no'
default: 'no'
compliance_generate_xccdf_results:
type: string
description: '**[Advanced]** Specifies whether to generate XCCDF result files from the compliance scan.'
enum:
- 'yes'
- 'no'
default: 'no'
compliance_generate_json_results:
type: string
description: '**[Advanced]** Specifies whether to generate JSON result files from the compliance scan.'
enum:
- 'yes'
- 'no'
default: 'no'
vendor_unpatched:
type: string
description: '**[Advanced]** Specifies whether to scan for unpatched vulnerabilities where no patches or mitigations are available.'
enum:
- 'yes'
- 'no'
default: 'yes'
ignore_repos:
type: string
description: '**[Advanced]** Specifies whether to disable Red Hat repository correlation and strictly use package version checks only.'
enum:
- 'yes'
- 'no'
default: 'no'
patch_audit_over_telnet:
type: string
description: '**[Advanced]** Specifies whether to perform patch auditing over Telnet.'
enum:
- 'yes'
- 'no'
default: 'no'
patch_audit_over_rsh:
type: string
description: '**[Advanced]** Specifies whether to perform patch auditing over RSH.'
enum:
- 'yes'
- 'no'
default: 'no'
patch_audit_over_rexec:
type: string
description: '**[Advanced]** Specifies whether to perform patch auditing over rexec.'
enum:
- 'yes'
- 'no'
default: 'no'
snmp_port:
type: string
description: '**[Advanced]** Specifies the SNMP port.'
default: '161'
additional_snmp_port1:
type: string
description: '**[Advanced]** Specifies an additional SNMP port.'
default: '161'
additional_snmp_port2:
type: string
description: '**[Advanced]** Specifies an additional SNMP port.'
default: '161'
additional_snmp_port3:
type: string
description: '**[Advanced]** Specifies an additional SNMP port.'
default: '161'
http_login_method:
type: string
description: '**[Advanced]** Specifies the HTTP login method.'
default: POST
http_reauth_delay:
# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tenable/refs/heads/main/openapi/tenable-remediation-scans-api-openapi.yml