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.

{
    "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

{
  "owner": "1,2",
  "status": "Running,Completed",
  "name": "Remediation",
  "startTime": 1700564860,
  "endTime": 1704884860
}


With Pagination query param 

{
  "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
{
	"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
{
    "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
{
	"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
{
    "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
{
	"users" : [
		{
			"id" : <number>
		}...
	]
}
Example Response
Expand
{
    "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
{
	"email" : <string> (valid email list)
}
Example Response
Expand
{
    "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
{
    "type" : "regular",
    "response" : {},
    "error_code" : 0,
    "error_msg" : "",
    "warnings" : [],
    "timestamp" : 1404920650
}

/report/{id}/send

POST
Request Query Parameters
Expand
{
	"pubSites" : [
		<number>...
	]
}
Example Response
Expand
{
	"type" : "regular",
	"response" : "",
	"error_code" : 0,
	"error_msg" : "",
	"warnings" : [],
	"timestamp" : 1407248107
}