Skip to main content
POST
/
scans
Start a scan
curl --request POST \
  --url https://app.pentest-tools.com/api/v2/scans \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "tool_id": 123,
  "tool_params": {
    "scan_type": "deep",
    "web_details": true,
    "whois": false,
    "unresolved_results": false,
    "search_methods": {
      "passive_detection": true,
      "dns_records": true,
      "dns_enumeration": {
        "enabled": true,
        "wordlist_id": 1600
      },
      "ctr_search": true,
      "external_api_search": true,
      "bing_search": true,
      "google_search": true,
      "html_search": true,
      "ssl_search": true,
      "revdns_search": true,
      "alteration_search": true,
      "cname_search": true
    }
  },
  "target_id": 123,
  "target_name": "<string>",
  "workspace_id": 123,
  "vpn_profile_uuid": "<string>",
  "max_scan_time": 1440,
  "scan_original_url": false,
  "redirect_level": "same_domain"
}
'
{
  "data": {
    "created_id": 420323,
    "target_id": 5426912
  }
}
tool_id specifies which scanner to run. Valid values:
Tooltool_id
Subdomain Finder20
WHOIS30
Port Scanner70
URL Fuzzer90
Virtual Hosts Finder160
Website Scanner170
ICMP Ping240
SharePoint Scanner260
WordPress Scanner270
Drupal Scanner280
Joomla Scanner290
Website Recon310
Subdomain Takeover320
Network Scanner350
SQLi Exploiter380
Domain Finder390
Password Auditor400
SSL/TLS Scanner450
Sniper490
WAF Detector500
API Scanner510
Cloud Scanner520
People Hunter530
Kubernetes Scanner540

Authorizations

Authorization
string
header
required

Use the "API key" from the profile page as the token

Body

application/json
tool_id
integer
required
tool_params
object
target_id
integer

only one of target_id and target_name should be used

target_name
string | null

only one of target_id and target_name should be used

workspace_id
integer | null

Workspace where the scan is started. It has to match the workspace ID of the target

vpn_profile_uuid
string | null

VPN profile to use for the scan. If null, there will be no VPN profile used. If not specified, the profile attached to the workspace will be used.

max_scan_time
integer
default:1440

Maximum number of minutes that the scan should run. Not supported by: Sniper, tools with short scan duration (like Website Recon or ICMP Ping).

Required range: 1 <= x <= 1440
report_callback
object

Send the report in a specific format to this URL when the scan finishes

scan_original_url
boolean
default:false

If true, the original URL is passed to the scanner, even if it redirects. If false, the redirected URL will be scanned instead.

redirect_level
enum<string>
default:same_domain

Possible values:

  • none - the target is passed directly to the scanner
  • check_accessibility - the target is checked for accessibility and an error is thrown on any redirect
  • same_host - only redirects within the same host are allowed
  • same_domain - redirects to subdomains are allowed
  • allow_all - any redirects are allowed
Available options:
none,
check_accessibility,
same_host,
same_domain,
allow_all

Response

Created

data
object
required