Tenable Security Center API: Report

/report

Methods
GET

Gets the list of Reports

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
creator
owner
ownerGroup
reportDefinitionID
jobID
type
displayType
status
running
errorDetails
totalSteps
completedSteps
startTime
finishTime
pubSites
txLogs

Legend

* = always comes back

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

Request Query Parameters
Expand

NOTE: The 'startTime' and 'endTime' parameters search against the 'createdTime' values. They do not consider or search against the 'finishTime' values.

1
2
3
4
5
6
7
8
{
    "owner" : <string> "",
    "status" : <string> "Completed" | "Error" | "Queued" | "Queuing" | "Running" | "Resuming" | "Pausing" | "Paused" | "Stopping" | "Stopped",
    "name" : <string> "",
    "startTime" : <number:epoch> DEFAULT {now-30 days},
    "endTime" : <number:epoch> DEFAULT {now}
    ...
}

Paginated results:

By default, the result set encompasses all Report Results.

To obtain paginated results, a parameter value should be included in the request as follows:

?paginated=true

Additionally, for paginated results, the following parameters can be sent:

startOffset <number> (positive integer) DEFAULT 0,
endOffset <number> (integer >= startOffset) DEFAULT 50,
sortDirection <string> "ASC" | "DESC" DEFAULT "DESC",
sortField <string> "name" | "type" | "ownerGroup" | "ownerID" | "finishTime" | "status",

Example Request Query Parameters 
Expand

NOTE: The 'startTime' and 'endTime' parameters search against the 'createdTime' values. They do not consider or search against the 'finishTime' values.

For normal query param request

1
2
3
4
5
6
7
{
  "owner": "1,2",
  "status": "Running,Completed",
  "name": "Remediation",
  "startTime": 1700564860,
  "endTime": 1704884860
}


With Pagination query param 

1
2
3
4
5
6
7
8
9
10
11
12
{
  "startOffset": 0,
  "endOffset": 50,
  "sortField": "name",
  "sortDirection": "ASC",
  "paginated": "true",
  "owner": "1,2",
  "status": "Running,Completed",
  "name": "Remediation",
  "startTime": 1700564860,
  "endTime": 1704884860
}
Filter Parameters

usable - The response will be an object containing an array of usable Reports. By default, both usable and manageable objects are returned.
manageable - The response will be an object containing all manageable Reports. By default, both usable and manageable objects are returned.
running - Only Reports that are currently running will be returned. This is compatible with usable and/or manageable filters. By default, both running and completed Reports are returned.
completed - Only Reports that have completed will be returned. This is compatible with usable and/or manageable filters. By default, both running and completed Reports 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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
{
    "type" : "regular",
    "response" : {
        "usable" : [
            {
                "id" : "1",
                "reportDefinitionID" : "-1",
                "jobID" : "1614",
                "name" : "Test Scan",
                "description" : "This report identifies installed software across a series of hosts, utilizing Nessus plugin 22869, Software Enumeration (SSH). This plugin lists the software installed on the remote host by calling the appropriate command (rpm -qa on RPM-based Linux distributions, qpkg, dpkg, etc.).\nThis report is comprised of a Table of Contents for each identified host. The Identified Hosts Table lists the hosts by IP Address, NetBIOS Name, and DNS Name, and is followed by a detailed look at each host individually.\n\nThis area provides some host details in a header with IP Address, DNS Name, NetBIOS Name, and Last Scan Date, and is followed by the host Operating System and a list of installed software, and version (if available).",
                "type" : "pdf",
                "status" : "Completed",
                "running" : "false",
                "errorDetails" : "Error removing components.\nError removing component #6.\nError deleting Data Source #10.\nError retrieving owner of Query.\nUser #1 not found.\n",
                "totalSteps" : "8",
                "completedSteps" : "4",
                "startTime" : "1403298387",
                "finishTime" : "1403299387",
                "ownerGID" : "0",
                "displayType" : "pdf",
                "pubSites" : [
                    {
                        "id" : "2",
                        "name" : "test",
                        "description" : "desc"                  }
                ],
                "txLogs" : [],
                "canUse" : "true",
                "canManage" : "true",
                "creator" : {
                    "id" : "1",
                    "username" : "head",
                    "firstname" : "test",
                    "lastname" : "User",
                    "uuid": "2E2B70F2-3471-428F-82AF-A6905090EAA9"              },
                "owner" : {
                    "id" : "1",
                    "username" : "head",
                    "firstname" : "test",
                    "lastname" : "User",
                    "uuid": "2E2B70F2-3471-428F-82AF-A6905090EAA9"              },
                "ownerGroup" : {
                    "id" : "0",
                    "name" : "Full Access",
                    "description" : "Full Access group"             }
            },
            ...
        ]
        "manageable" : [
            {
                "id" : "1",
                "reportDefinitionID" : "-1",
                "jobID" : "1614",
                "name" : "Test Scan",
                "description" : "This report identifies installed software across a series of hosts, utilizing Nessus plugin 22869, Software Enumeration (SSH). This plugin lists the software installed on the remote host by calling the appropriate command (rpm -qa on RPM-based Linux distributions, qpkg, dpkg, etc.).\nThis report is comprised of a Table of Contents for each identified host. The Identified Hosts Table lists the hosts by IP Address, NetBIOS Name, and DNS Name, and is followed by a detailed look at each host individually.\n\nThis area provides some host details in a header with IP Address, DNS Name, NetBIOS Name, and Last Scan Date, and is followed by the host Operating System and a list of installed software, and version (if available).",
                "type" : "pdf",
                "status" : "Completed",
                "running" : "false",
                "errorDetails" : "Error removing components.\nError removing component #6.\nError deleting Data Source #10.\nError retrieving owner of Query.\nUser #1 not found.\n",
                "totalSteps" : "8",
                "completedSteps" : "4",
                "startTime" : "1403298387",
                "finishTime" : "1403299387",
                "ownerGID" : "0",
                "displayType" : "pdf",
                "pubSites" : [
                    {
                        "id" : "2",
                        "name" : "test",
                        "description" : "desc"                  }
                ],
                "txLogs" : [],
                "canUse" : "true",
                "canManage" : "true",
                "creator" : {
                    "id" : "1",
                    "username" : "head",
                    "firstname" : "test",
                    "lastname" : "User",
                    "uuid": "2E2B70F2-3471-428F-82AF-A6905090EAA9"              },
                "owner" : {
                    "id" : "1",
                    "username" : "head",
                    "firstname" : "test",
                    "lastname" : "User",
                    "uuid": "2E2B70F2-3471-428F-82AF-A6905090EAA9"              },
                "ownerGroup" : {
                    "id" : "0",
                    "name" : "Full Access",
                    "description" : "Full Access group"             }
            },
            ...
        ]
    }
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1404919744
}
Paginated 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
{
    "type": "regular",
    "response": {
        "totalRecords": "1",
        "returnedRecords": 1,
        "startOffset": "0",
        "endOffset": "50",
        "usable": [
            {
                "name": "Critical and Exploitable Vulnerabilities Report",
                "type": "pdf",
                "status": "Running",
                "startTime": "1704890653",
                "finishTime": "1704890749",
                "completedSteps": "24",
                "totalSteps": "24",
                "running": "false",
                "id": "4",
                "canUse": "true",
                "canManage": "true",
                "owner": {
                    "id": "1",
                    "username": "qahead",
                    "firstname": "Qa",
                    "lastname": "Head",
                    "uuid": "36DC8C6C-962A-4C65-AB6C-8C9986D40446"                },
                "ownerGroup": {
                    "id": "0",
                    "name": "Full Access",
                    "description": "Full Access group"                }
            }
        ],
        "manageable": [
            {
                "name": "Critical and Exploitable Vulnerabilities Report",
                "type": "pdf",
                "status": "Running",
                "startTime": "1704890653",
                "finishTime": "1704890749",
                "completedSteps": "24",
                "totalSteps": "24",
                "running": "false",
                "id": "4",
                "canUse": "true",
                "canManage": "true",
                "owner": {
                    "id": "1",
                    "username": "qahead",
                    "firstname": "Qa",
                    "lastname": "Head",
                    "uuid": "36DC8C6C-962A-4C65-AB6C-8C9986D40446"                },
                "ownerGroup": {
                    "id": "0",
                    "name": "Full Access",
                    "description": "Full Access group"                }
            }
        ]
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1704965474
}

/report/{id}

Methods
GET

Gets the Report 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
creator
owner
ownerGroup
reportDefinitionID
jobID
type
displayType
status
running
errorDetails
totalSteps
completedSteps
startTime
finishTime
pubSites
txLogs

Legend

* = always comes back

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

Request Query 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
    "type" : "regular",
    "response" : {
        "id" : "1",
        "reportDefinitionID" : "-1",
        "jobID" : "1614",
        "name" : "Test Scan",
        "description" : "This report identifies installed software across a series of hosts, utilizing Nessus plugin 22869, Software Enumeration (SSH). This plugin lists the software installed on the remote host by calling the appropriate command (rpm -qa on RPM-based Linux distributions, qpkg, dpkg, etc.).\nThis report is comprised of a Table of Contents for each identified host. The Identified Hosts Table lists the hosts by IP Address, NetBIOS Name, and DNS Name, and is followed by a detailed look at each host individually.\n\nThis area provides some host details in a header with IP Address, DNS Name, NetBIOS Name, and Last Scan Date, and is followed by the host Operating System and a list of installed software, and version (if available).",
        "type" : "pdf",
        "status" : "Completed",
        "running" : "false",
        "errorDetails" : "Error removing components.\nError removing component #6.\nError deleting Data Source #10.\nError retrieving owner of Query.\nUser #1 not found.\n",
        "totalSteps" : "8",
        "completedSteps" : "4",
        "startTime" : "1403298387",
        "finishTime" : "1403299387",
        "ownerGID" : "0",
        "pubSites" : [
            {
                "id" : "2",
                "name" : "test",
                "description" : "desc"          }
        ],
        "creator" : {
            "id" : "1",
            "username" : "head",
            "firstname" : "test",
            "lastname" : "User",
            "uuid": "2E2B70F2-3471-428F-82AF-A6905090EAA9"      },
        "owner" : {
            "id" : "1",
            "username" : "head",
            "firstname" : "test",
            "lastname" : "User",
            "uuid": "2E2B70F2-3471-428F-82AF-A6905090EAA9"      },
        "ownerGroup" : {
            "id" : "0",
            "name" : "Full Access",
            "description" : "Full Access group"     }
    },
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1404920431
}
DELETE

Deletes the Report 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" : 1403100582
}

/report/{id}/copy

Methods
POST

Copies the Report associated with {id}, depending on access and permissions.

Request Parameters
Expand
1
2
3
4
5
6
{
    "users" : [
        {
            "id" : <number>       }...
    ]
}
Example Response
Expand
1
2
3
4
5
6
7
8
{
    "type" : "regular",
    "response" : {},
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1406924039
}

/report/{id}/email

Methods
POST

Emails the Report result associated with {id}, depending on access and permissions.

Request Parameters
Expand
1
2
3
{
    "email" : <string> (valid email list)
}
Example Response
Expand
1
2
3
4
5
6
7
8
{
    "type" : "regular",
    "response" : {},
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1406924039
}
/report/{id}/download
POST

Downloads the report associated with {id}.

Request Parameters

None

Example Response

None given. The response will be a PDF, RTF, CSV, ASR, ARF, or LASR file in binary or ascii format.

/report/{id}/stop

POST

Stops the Report associated with {id}.

Request Parameters

None

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

/report/{id}/send

POST
Request Query Parameters
Expand
1
2
3
4
5
{
    "pubSites" : [
        <number>...
    ]
}
Example Response
Expand
1
2
3
4
5
6
7
8
{
    "type" : "regular",
    "response" : "",
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1407248107
}