API - Documentation


General API requirements

Authorization: your_api_token
Return reponse: the requested data or FALSE


Get CSRF token

Name: GetCSRF

Foreach request you need to send the CSRF token, together with optional other parameters.

curl -H "Authorization:[your_api_token]" -H "Content-Type: application/json" --url "https://www.smartsecurityscan.com/api/csrf_token" -4 --tlsv1.2
{"token":"alkwHnYO9DBKHl4ucLPynDcPmcjJSQP21lG1Lm1d"}



Get scan packages

Name: GetScanPackages

Returns a list of all available scan packages to choose from.

Request parameters

Name Required Type
custom_only no {Boolean} Show all or only your custom scan packages. (API users only)
curl -H "Authorization:[your_api_token]" -H "Content-Type: application/json" --url "https://www.smartsecurityscan.com/api/packages" -4 --tlsv1.2
{"status":{"1":"Free","2":"Payed, web vulnerability scan","3":"SSL","5":"TCP\/UDP Services","6":"Wordpress vulnerability scan","7":"OWASP Top-10"}}



Create new Smart Security Scan

Name: CreateScan

To create a new scan you need to post your request to the below end-point. This method returns either FALSE or the ID of the created scan.

Request parameters

Name Required Type
hostname yes {String} A valid FQDN or valid IPv4 IP address
package_id yes {Integer} A valid package ID from the GetPackages request.
execute_date yes {Date} Execute date. For emidiate execution set date to today.
execute_time yes {Time} Execute time. For emidiate execution set date to 00:00.
reoccurring_id no {Integer} Recurring interval. Retrieved from get recurring list
curl -H "Authorization:[your_api_token]" --url "https://www.smartsecurityscan.com/api/task/create" -4 --tlsv1.2 --data "hostname=www.smartsecurityscan.com&package_id=1&execute_017-04-11&execute_time=00:00&_token=[your_csrf_token]"
{"result":154}



Get all scan tasks

Name: GetTaskList

Get all scan tasks. Provide set of filters optionally. Default (without filter) returns all scan tasks.

Request parameters

Name Required Type
hostname no {String} A valid FQDN or valid IPv4 IP address, known by our system.
verified no {Boolean} Verified or non-verified tasks.
status no {Integer} Status; (0 = initial, 1 = in progress, 2 = completed, 3 = failed, 4 = canceled, 5 = queued)
curl -H "Authorization:[your_api_key]" --url "https://www.smartsecurityscan.com/api/task/list" -4 --tlsv1.2 --data "status=2"
{"result":false} OR {"result":"[{\"id\":226,\"target\":\"www.smartsecurityscan.com\",\"verified\":1,\"paid\":1,\"created_at\":\"2017-04-11 10:30:44\",\"package_id\":1,\"status_id\":2, \"reoccurring_id\":1}]"}



Get target validation URL

Name: GetValidationURL

Returns the target validation URL for a specific scan request that you created.

Request parameters

Name Required Type
id yes {Integer} The returned scan request ID received from the method CreateScan.
curl -H "Authorization:[your_api_token]" -H "Content-Type: application/json" --url "https://www.smartsecurityscan.com/api/task/validation/226" -4 --tlsv1.2
{"result":"https:\/\/www.smartsecurityscan.com\/validation\/target\/fa47f2d213bf4393f0d1dc9ace706b4e86b956c4"}



Get the status of a specific scan

Name: GetScanStatus

Returns the status of a specific san request.

Request parameters

Name Required Type
id yes {Integer} The returned scan request ID received from the method CreateScan.
curl -H "Authorization:[your_api_token]" -H "Content-Type: application/json" --url "https://www.smartsecurityscan.com/api/task/status/226" -4 --tlsv1.2
{"result":"Target needs validation."}



Get the full report with scan results

Name: GetScanReport

Get the full scan report. The requested scan needs to have status 'COMPLETE' else FALSE is returned.

Request parameters

Name Required Type
id yes {Integer} The returned scan request ID received from the method CreateScan.
{"result":false} OR HTML based report data



Get list of all recurring intervals

Name: RecurringList

Returns the list of recurring intervals to use with scans

curl -H "Authorization:[your_api_token]" -H "Content-Type: application/json" --url "https://www.smartsecurityscan.com/api/reoccurring/list" -4 --tlsv1.2
{"status":[{"id":1,"name":"None"},{"id":2,"name":"Daily"},{"id":3,"name":"Weekly"},{"id":4,"name":"Monthly"},{"id":5,"name":"Quarterly"},{"id":6,"name":"Yearly"}]}



Get total available credits

Name: GetCreditBalance

Returns your total amount of available credits.

curl -H "Authorization:[your_api_token]" -H "Content-Type: application/json" --url "https://www.smartsecurityscan.com/api/credits/available" -4 --tlsv1.2
{"result":12}