Required User Role: SCAN OPERATOR 
You can use the POST /scans endpoint to create scan configurations.
Tenable.io 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.
Use the following steps to gather information needed for scan configuration and perform any preparatory tasks.
|yes||Identify the targets you want to scan.|
|no||Upload a targets file for the scan.|
|no||Create or identify a target group to use in the scan.|
|yes||Determine the UUID of the Tenable-provided template you want to use for the scan.|
|yes||Determine the parameters supported for the Tenable-provided template.|
|yes||Determine the ID of the scanner you want to use for the scan.|
|no||Determine the UUID of the scan policy you want to use for the scan.|
|no||Determine the ID of the folder where you want to store the scan.|
|no||Determine the time frame you want the scan to run, in minutes, with the |
Note that scheduled scans do not run if they are in the scan owner's trash folder.
|yes||Determine when you want the scan to run (what day and time).|
|yes||Determine the timezone value.|
|yes||Determine how often you want the scan to run (once, daily, weekly, monthly, or yearly).|
|yes||any||Determine what type of credentials you want to use in the scan.|
|yes||scan-specific||Determine the settings for the specific credential type.|
|no||scan-specific||If a specific setting requires a file (for example, a private key file for SSH credentials), upload the required files to Tenable.io.|
|yes||managed||Create a managed credential, or determine the UUID of the existing managed credential you want to use.|
|yes||Configure and deploy agents on local hosts as described in the Nessus Agent and Deployment User Guide.|
|yes||Determine the agent group ID.|
|no||Determine the time frame you want the agent scan to run, in minutes, with the |
A valid request message for the POST /scans endpoint must include at least one of the following parameters:
|text_targets||string||A list of targets to scan. For supported target formats, see the Tenable.io Vulnerability Management User Guide. You can specify multiple targets (of differing formats) as a comma-delimited list. You can submit this parameter empty if you want to add targets to the scan via a later update.|
Note: Tenable.io does not perform validation on values you submit for this parameter. If you submit invalid values, Tenable.io stores the invalid values in the scan configuration, and when the scan runs, scanning fails on the invalid targets."
|target_groups||array of integers||An array of target group IDs to scan. Use the GET /target-groups endpoint to determine a target group ID.||[2, 8, 12]|
|file_targets||string||The name of a file containing the list of targets to scan. Before you use this parameter, use the POST /files/upload endpoint to upload the file to Tenable.io; then, use the 'fileuploaded' attribute of the response message as the |
Note: Unicode/UTF-8 encoding is not supported in the targets file.
|tag_targets||array of strings||The list of asset tag identifiers that the scan uses to determine which assets it evaluates. For more information about tag-based scans, see Manage Tag-Based Scans.||[|
- Example Discovery Scan: Launch on Demand
- Example Agent Scan: Recurring
- Example Assessment Scan: Launch on Demand
- Example Assessment Scan: Shared
- Example Assessment Scan: Policy-based
- Example Assessment Scan: Recurring
- Example Assessment Scan: Scan-Specific Credentials (Windows)
- Example Assessment Scan: Scan-specific Credentials (SSH)
- Example Assessment Scan: Managed Credentials (Windows)
Updated 2 months ago