Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Rapid7 Search API

A global Search API is exposed to facilitate the execution of user-defined queries that can perform a Search across the supported resource types exposed via the API. Each Search Request must specify both the resource type and the query to be executed. Below details the specific catalog of properties for each resource type that can be used as atoms of the Search query, and the operators that can be used with them.Search CatalogResource TypePropertiesAPPapp.idapp.nameapp.descriptionSCAN_CONFIGscanconfig.idscanconfig.namescanconfig.descriptionscanconfig.app.idscanconfig.attack_template.idSCANscan.idscan.statusscan.failure_reasonscan.submit_timescan.completion_timescan.app.idscan.scan_config.idscan.submitter.idscan.submitter.typeVULNERABILITYvulnerability.idvulnerability.severityvulnerability.statusvulnerability.scans.idvulnerability.app.idvulnerability.root_cause.urlvulnerability.root_cause.parametervulnerability.root_cause.methodvulnerability.discoveries.discoveredvulnerability.first_discoveredvulnerability.last_discoveredvulnerability.newly_discoveredATTACK_TEMPLATEattacktemplate.idattacktemplate.nameattacktemplate.descriptionattacktemplate.system_definedTARGETtarget.idtarget.domaintarget.enabledENGINEengine.idengine.nameengine.statusengine.engine_group.idengine.engine_group.nameENGINE_GROUPenginegroup.idenginegroup.nameenginegroup.descriptionSCHEDULEschedule.idschedule.nameschedule.enabledschedule.app.idschedule.scan_config.idBLACKOUTblackout.idblackout.nameblackout.enabledblackout.app.idblackout.scopeFILEfile.idfile.namefile.descriptionfile.typefile.lockedfile.apps.idfile.owner.idTAGtag.idtag.nametag.creator.idtag.createdREPORTreport.idreport.namereport.typereport.formatreport.owner.idreport.generatedDatereport.app.idSearch OperatorsOperatorDescription=Equal To. Returns all records that equal the specified value.!=Not Equal To. Returns all records that are not equal to the specified value.>Greater Than. Returns all records that are greater than the specified value.>=Greater Than or Equal To. Returns all records that are greater than or equal to the specified value.<Less Than. Returns all records that are less than the specified value.<=Less Than or Equal To. Returns all records that are less than or equal to the specified value.CONTAINSReturns all records that contain the specified string.STARTS WITHReturns all records that start with the specified string.ENDS WITHReturns all records that end with the specified string.LIKEWorks as a normal regular expression as opposed to SQL regular expression.IS NULLReturns all records whose specified value is NULL (contains the NULL value).IS NOT NULLReturns all records whose specified value is not NULL (does not contain the NULL value).&&The 'logical AND' operator returns values when both conditions are true.||The 'logical OR' operator returns values when one of the conditions is true.BETWEENAn operator to allow range checking for date types.Useful ExamplesQueryDescriptionapp.name CONTAINS 'production' && app.description LIKE '.*(South|North) America.*'Find all Apps where the name contains the text 'production' and the description contains the text 'South America' or 'North America'scanconfig.name = 'Weekly Scan' && scanconfig.app.id = '12345678-1234-1234-1234-123456789012'Find all Scan Configs where the name is exactly the text 'Weekly Scan' and the App that owns it has a ID of value '12345678-1234-1234-1234-123456789012'scan.status = 'COMPLETE' || scan.status = 'FAILED' && scan.completion_time BETWEEN '2018-11-01T00:00:00' AND '2018-12-1T00:00:00'Find all Scans that ran to a terminal state in November 2018vulnerability.severity = 'HIGH' && vulnerability.app.id = '12345678-1234-1234-1234-123456789012'Find all Vulnerabilities where the severity is HIGH and the App that owns it has a ID of value '12345678-1234-1234-1234-123456789012'attacktemplate.system_defined = 'true' && attacktemplate.name = 'Crawl Only'Find the system-defined Crawl-Only Attack Templatetarget.enabled = 'false'Find all disabled TargetsNotesPlease note that the search DSL is case-sensitive and as such all resource properties and search operators should be checked for correct casing in the result of a query validation error response.

Rapid7 Search API is one of 50 APIs that Rapid7 publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Search. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 1 operation across 1 path, and defines 7 schemas. It is described by OpenAPI 3.1.0, at version v1.

Requests are made against a single base URL, https://[region].api.insight.rapid7.com/ias/v1.

1 operations 1 paths 7 schemas 1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v1
Base URL
https://us.api.insight.rapid7.com/vm/v4
Resource Areas
1

Paths & Operations 1

Across 1 path, the API surfaces 1 operation — 1 POST. Each is listed below with its method, path, parameters, and response codes.

Search 1

A global Search API is exposed to facilitate the execution of user-defined queries that can perform a Search across the supported resource types exposed via the API. Each Search R…

POST
/search
Perform Search
perform-search 5 params body → 415200400401403404500409

Schemas 7

The contract defines 7 schemas that model the data the API accepts and returns. The most detailed are PageMetadata (6 properties), Link (4 properties), ValidationErrors (4 properties), Error (3 properties). Each schema is shown below with its type and property counts.

ValidationErrors
object
4 properties
PageObject
object
3 properties
Link
object
4 properties
PageMetadata
object
6 properties
SearchRequest
object
2 properties 2 required
ValidationError
object
3 properties
Error
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

rapid7-search-api-openapi.yml Raw ↑

Other APIs Rapid7 publishes across the network.

Rapid7 InsightVM Cloud API
Rapid7 Insight Platform API
Rapid7 InsightIDR API
Rapid7 Accounts API
Rapid7 Administration API
Rapid7 Apps API
Rapid7 Asset API
Rapid7 Asset Discovery API
Rapid7 Asset Group API
Rapid7 Assets API
Rapid7 Attachments API
Rapid7 Attack Templates API