Tenable Security Center API: Agent Scan

/agentScan

Methods
GET

Gets the list of Agent Scans.

Fields Parameter
Expand

The fields parameter should be specified along the query string, and it takes the syntax

    ?fields=<field>,...

Allowed Fields

*id
**name
**description
**status
nessusManager
repository
scanWindow
agentGroups
createdTime
modifiedTime
ownerGroup
creator
owner
reports
schedule
policy


Legend

* = always comes back

** = comes back if fields list not specified on GET all

redFont =  field is a JSON object e.g. "repository" :{ "id" : <id>, "name" : <name> } )

Request Parameters

None

Expand Parameters

credentials

Filter Parameters

usable - The response will be an object containing an array of usable Agent Scans. By default, both usable and manageable objects are returned.
manageable - The response will be an object containing all manageable Agent Scans. By default, both usable and manageable objects are returned. 

Example Response
Expand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
    "type" : "regular",
    "response" : {
        "usable" : [
            {
                "id" : "2",
                "name" : "Agent Scan #1",
                "description" : ""          },
            {
                "id" : "3",
                "name" : "Agent Scan #2",
                "description" : ""          },
            {
                "id" : "4",
                "name" : "Agent Scan #3",
                "description" : "Description for Agent Scan #3"         }
        ],
        "manageable" : [
            {
                "id" : "2",
                "name" : "Agent Scan #4",
                "description" : ""          },
            {
                "id" : "3",
                "name" : "Agent Scan #5",
                "description" : ""          },
            {
                "id" : "4",
                "name" : "Agent Scan #6",
                "description" : "Description for Agent Scan #6"         }
        ]
    },
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1406828340
}

POST

Adds an Agent Scan, depending on access and permissions.

Request Parameters
Expand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
    "name" : <string>,
    "type" : <string> "plugin" | "policy",
    "description" : <string> DEFAULT "",
    "nessusManager" : {
        "id" : <number>   },
    "repository" : {
        "id" : <number>   },
    "scanWindow" : <string> DEFAULT "60",
    "policy": {
      {<policy ID Record>}...
    } (Optional),
    "agentGroups" : {
        "id" : <number>,
        "name" : <string>,
        "description" : <string>,
    },
    "schedule" : {
        "type" : "ical" | "never" | "rollover" | "template" <string> DEFAULT "template",
    },
    "reports" : [
        {
            "id" : <number>,
            "reportSource" : <string> "cumulative" | "individual"     }...
    ] DEFAULT []
}


schedule type is "ical"

1
2
3
4
5
6
...
    "schedule" : {
        "start" : <string> (This value takes the iCal format),
        "repeatRule" : <string> (This value takes the repeat rule format)
    }
...
Example Response
Expand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{  
    "type" : "regular",
    "response" : { 
        "id" : "4",
        "creatorID" : "1",
        "ownerID" : "1",
        "name" : "POSTtest",
        "description" : "This is a test for POST",
        "status" : "0",
        "scanWindow" : 60,
        "policy" : [],
        "agentGroup" : {
            "id" : 5,
            "name" : "Nessus Manager",
            "description" : ""      },
        "createdTime" : "1406815242",
        "modifiedTime" : "1406815242",
        "reports" : [],
        "schedule" : {
            "type" : "never",
            "start" : "",
            "repeatRule" : ""        },
        "creator" : {  
            "id" : "1",
            "username" : "head3",
            "firstname" : "",
            "lastname" : ""     },
        "owner" : {
            "id" : "1",
            "username" : "head3",
            "firstname" : "",
            "lastname" : ""     },
        "nessusManager" : {
            "id" : "1",
            "name" : "test manager",
            "description" : ""      },
        "repository" : {
            "id" : "2",
            "name" : "test",
            "description" : "test"      },
        "ownerGroup" : {   
            "id" : "0",
            "name" : "Full Access",
            "description" : "Full Access group"     }
    },
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1406815242
}

/agentScan/{id}

Methods
GET

Gets the Agent Scan associated with {id}.

Fields Parameter
Expand

The fields parameter should be specified along the query string, and it takes the syntax

    ?fields=<field>,...

Allowed Fields

*id
**name
**description
**status
nessusManager
repository
scanWindow
agentGroups
createdTime
modifiedTime
ownerGroup
creator
owner
reports
schedule
policy

Legend

* = always comes back

** = comes back if fields list not specified on GET all

redFont =  field is a JSON object e.g. "repository" :{ "id" : <id>, "name" : <name> } )

Request Parameters

None

Expand Parameters

credentials

Example Response
Expand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
    "type": "regular",
    "response": {
        "id": "4",
        "name": "Agent Scan",
        "description": "Agent Scan Description",
        "scansWindow": 60,
        "agentGroups": {
            "id": 3,
            "name": "Agent Group",
            "description": "Description"        },
        "emailOnLaunch": "false",
        "emailOnFinish": "false",
        "status": "0",
        "createdTime": "1406815242",
        "modifiedTime": "1406815242",
        "policy": {
            "id": "1000002",
            "context": "",
            "name": "Policy Agent Scan",
            "description": "Description",
            "tags": "",
            "uuid": "90B2DB2A-C659-442D-B11E-78023EE7",
            "owner": {
                "id": "1",
                "username": "username",
                "firstname": "First Name",
                "lastname": "Last Name",
                "uuid": "466BE9F7-007C-4F4C-B758-16B26F3F7"         },
            "ownerGroup": {
                "id": "0",
                "name": "Full Access",
                "description": "Full Access group"          }
        },
        "reports": [],
        "schedule": {
            "type": "never",
            "start": "",
            "repeatRule": ""        },
        "nessusManager": {
            "id": "1",
            "name": "test manager",
            "description": ""       },
        "repository": {
            "id": "2",
            "name": "test",
            "description": "test"       },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"      },
        "creator": {
            "id": "1",
            "username": "head3",
            "firstname": "",
            "lastname": ""      },
        "owner": {
            "id": "1",
            "username": "head3",
            "firstname": "",
            "lastname": ""      }
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1406828664
}

PATCH

Edits the Agent Scan associated with {id}, changing only the passed in fields.

Request Parameters

(All fields are optional)

See /agentScan::POST for parameters.

Example Response
See /agentScan/{id}::GET

DELETE

Deletes the Agent Scan associated with {id}, depending on access and permissions.

Request Parameters

None

Example Response
Expand
1
2
3
4
5
6
7
8
{
    "type" : "regular",
    "response" : "",
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1406732180
}

/agentScan/{id}/launch

Methods
POST

Launches the Agent Scan associated with {id}.

Request Parameters

None

Example Response
Expand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
    "type" : "regular",
    "response" : {
        "scanID" : -1,
        "resultsSyncID" : "-1",
        "agentScanID" : "7",
        "repositoryID" : "14",
        "jobID" : "93484",
        "name" : "Agent Scan",
        "description" : "",
        "details" : "",
        "status" : "Queued",
        "importStatus" : "No Results",
        "downloadFormat" : "v2",
        "dataFormat" : "IPv4",
        "resultType" : "agents",
        "running" : false,
        "errorDetails" : "",
        "importErrorDetails" : "",
        "totalIPs" : -1,
        "scannedIPs" : 0,
        "startTime" : -1,
        "finishTime" : 0,
        "id" : "45" },
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1442339263
}