Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/rapid7-scan-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
description: '# Overview
This guide documents the InsightVM Application Programming Interface (API) Version 3.'
version: '3'
title: InsightVM Scan API
contact:
name: Rapid7
email: support@rapid7.com
servers:
- url: https://localhost:3780/
tags:
- name: Scan
description: Resources and operations for managing scans.
paths:
/api/3/scans:
get:
tags:
- Scan
summary: Scans
description: Returns all scans.
operationId: getScans
parameters:
- name: active
in: query
description: Return running scans or past scans (true/false value).
required: false
schema:
type: boolean
enum:
- 'true'
- 'false'
default: false
- name: page
in: query
description: The index of the page (zero-based) to retrieve.
required: false
schema:
type: integer
format: int32
default: 0
- name: size
in: query
description: The number of records per page to retrieve.
required: false
schema:
type: integer
format: int32
default: 10
- name: sort
in: query
description: 'The criteria to sort the records by, in the format: `property[,ASC|DESC]`. The default sort order is ascending. Multiple sort criteria can be specified using multiple sort query parameters.'
required: false
style: form
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/PageOf_GlobalScan'
'401':
description: Unauthorized
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: Not Found
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/NotFoundError'
'500':
description: Internal Server Error
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/InternalServerError'
'503':
description: Service Unavailable
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
security: []
/api/3/scans/{id}:
get:
tags:
- Scan
summary: Scan
description: Returns the specified scan.
operationId: getScan
parameters:
- name: id
in: path
description: The identifier of the scan.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/Scan'
'401':
description: Unauthorized
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: Not Found
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/NotFoundError'
'500':
description: Internal Server Error
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/InternalServerError'
'503':
description: Service Unavailable
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
security: []
/api/3/scans/{id}/{status}:
post:
tags:
- Scan
summary: Scan Status
description: Updates the scan status. Can pause, resume, and stop scans using this resource. In order to stop a scan the scan must be running or paused. In order to resume a scan the scan must be paused. In order to pause a scan the scan must be running.
operationId: setScanStatus
parameters:
- name: id
in: path
description: The identifier of the scan.
required: true
schema:
type: integer
format: int64
- name: status
in: path
description: The status of the scan.
required: true
schema:
type: string
enum:
- pause
- stop
- resume
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/Links'
'400':
description: Bad Request
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
description: Unauthorized
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'500':
description: Internal Server Error
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/InternalServerError'
'503':
description: Service Unavailable
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
security: []
/api/3/sites/{id}/scans:
get:
tags:
- Scan
summary: Site Scans
description: Returns the scans for the specified site.
operationId: getSiteScans
parameters:
- name: id
in: path
description: The identifier of the site.
required: true
schema:
type: integer
format: int32
- name: active
in: query
description: Return running scans or past scans (true/false value).
required: false
schema:
type: boolean
enum:
- 'true'
- 'false'
default: false
- name: page
in: query
description: The index of the page (zero-based) to retrieve.
required: false
schema:
type: integer
format: int32
default: 0
- name: size
in: query
description: The number of records per page to retrieve.
required: false
schema:
type: integer
format: int32
default: 10
- name: sort
in: query
description: 'The criteria to sort the records by, in the format: `property[,ASC|DESC]`. The default sort order is ascending. Multiple sort criteria can be specified using multiple sort query parameters.'
required: false
style: form
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/PageOf_Scan'
'401':
description: Unauthorized
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: Not Found
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/NotFoundError'
'500':
description: Internal Server Error
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/InternalServerError'
'503':
description: Service Unavailable
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
security: []
post:
tags:
- Scan
summary: Site Scans
description: Starts a scan for the specified site.
operationId: startScan
parameters:
- name: id
in: path
description: The identifier of the site.
required: true
schema:
type: integer
format: int32
- name: overrideBlackout
in: query
description: Whether to request for the override of an scan blackout window.
required: false
schema:
type: boolean
enum:
- 'true'
- 'false'
default: false
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CreatedReference_ScanID_Link'
'400':
description: Bad Request
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
description: Unauthorized
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'500':
description: Internal Server Error
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/InternalServerError'
'503':
description: Service Unavailable
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
security: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdhocScan'
description: The details for the scan.
components:
schemas:
PageOf_Scan:
type: object
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
page:
example: ''
description: The details of pagination indicating which page was returned, and how the remaining pages can be retrieved.
$ref: '#/components/schemas/PageInfo'
resources:
type: array
description: The page of resources returned.
items:
$ref: '#/components/schemas/Scan'
description: ''
InternalServerError:
type: object
required:
- status
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: An error has occurred.
description: The messages indicating the cause or reason for failure.
status:
type: string
example: '500'
description: The HTTP status code for the error (same as in the HTTP response).
enum:
- '500'
description: ''
PageOf_GlobalScan:
type: object
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
page:
example: ''
description: The details of pagination indicating which page was returned, and how the remaining pages can be retrieved.
$ref: '#/components/schemas/PageInfo'
resources:
type: array
description: The page of resources returned.
items:
$ref: '#/components/schemas/GlobalScan'
description: ''
AdhocScan:
type: object
properties:
assetGroupIds:
type: array
description: The asset groups that should be included as a part of the scan. Only asset groups assigned to the site can be specified for a scan. This value should be an array of integers representing the unique identifiers of the asset groups.
items:
type: integer
format: int32
engineId:
type: integer
format: int32
example: ''
description: The identifier of the scan engine.
hosts:
type: array
description: The hosts that should be included as a part of the scan. This should be a mixture of IP Addresses and Hostnames as a String array.
items:
type: string
name:
type: string
example: ''
description: The user-driven scan name for the scan.
templateId:
type: string
example: ''
description: The identifier of the scan template
description: ''
Link:
type: object
properties:
href:
type: string
example: https://hostname:3780/api/3/...
description: 'A hypertext reference, which is either a URI (see <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/rfc3986">RFC 3986</a>) or URI template (see <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/rfc6570">RFC 6570</a>). '
rel:
type: string
example: self
description: The link relation type. This value is one from the <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/rfc5988#section-6.2">Link Relation Type Registry</a> or is the type of resource being linked to.
description: ''
UnauthorizedError:
type: object
required:
- status
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: An error has occurred.
description: The messages indicating the cause or reason for failure.
status:
type: string
example: '401'
description: The HTTP status code for the error (same as in the HTTP response).
enum:
- '401'
description: ''
NotFoundError:
type: object
required:
- status
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: An error has occurred.
description: The messages indicating the cause or reason for failure.
status:
type: string
example: '404'
description: The HTTP status code for the error (same as in the HTTP response).
enum:
- '404'
description: ''
PageInfo:
type: object
properties:
number:
type: integer
format: int64
example: 6
description: The index (zero-based) of the current page returned.
size:
type: integer
format: int64
example: 10
description: The maximum size of the page returned.
totalPages:
type: integer
format: int64
example: 13
description: The total number of pages available.
totalResources:
type: integer
format: int64
example: 123
description: The total number of resources available across all pages.
description: ''
CreatedReference_ScanID_Link:
type: object
properties:
id:
type: integer
format: int64
example: 1
description: The identifier of the resource created.
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
description: ''
BadRequestError:
type: object
required:
- status
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: An error has occurred.
description: The messages indicating the cause or reason for failure.
status:
type: string
example: '400'
description: The HTTP status code for the error (same as in the HTTP response).
enum:
- '400'
description: ''
GlobalScan:
type: object
properties:
assets:
type: integer
format: int32
example: ''
description: The number of assets found in the scan.
duration:
type: string
example: ''
description: The duration of the scan in ISO8601 format.
endTime:
type: string
example: ''
description: The end time of the scan in ISO8601 format.
engineId:
type: integer
format: int32
example: ''
description: The identifier of the scan engine.
engineName:
type: string
example: ''
description: The name of the scan engine.
id:
type: integer
format: int64
example: ''
description: The identifier of the scan.
links:
type: array
description: Hypermedia links to corresponding or related resources.
readOnly: true
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: ''
description: The reason for the scan status.
scanName:
type: string
example: ''
description: The user-driven scan name for the scan.
scanType:
type: string
example: ''
description: 'The scan type (automated, manual, scheduled). '
siteId:
type: integer
format: int32
siteName:
type: string
startTime:
type: string
example: ''
description: The start time of the scan in ISO8601 format.
startedBy:
type: string
example: ''
description: The name of the user that started the scan.
status:
type: string
example: ''
description: The scan status.
enum:
- aborted
- unknown
- running
- finished
- stopped
- error
- paused
- dispatched
- integrating
vulnerabilities:
example: ''
description: The vulnerability synopsis of the scan.
$ref: '#/components/schemas/Vulnerabilities'
description: ''
Vulnerabilities:
type: object
properties:
critical:
type: integer
format: int64
example: 16
description: The number of critical vulnerabilities.
readOnly: true
moderate:
type: integer
format: int64
example: 3
description: The number of moderate vulnerabilities.
readOnly: true
severe:
type: integer
format: int64
example: 76
description: The number of severe vulnerabilities.
readOnly: true
total:
type: integer
format: int64
example: 95
description: The total number of vulnerabilities.
readOnly: true
description: ''
Links:
type: object
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
description: ''
Scan:
type: object
properties:
assets:
type: integer
format: int32
example: ''
description: The number of assets found in the scan.
duration:
type: string
example: ''
description: The duration of the scan in ISO8601 format.
endTime:
type: string
example: ''
description: The end time of the scan in ISO8601 format.
engineId:
type: integer
format: int32
example: ''
description: The identifier of the scan engine.
engineName:
type: string
example: ''
description: The name of the scan engine.
id:
type: integer
format: int64
example: ''
description: The identifier of the scan.
links:
type: array
description: Hypermedia links to corresponding or related resources.
readOnly: true
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: ''
description: The reason for the scan status.
scanName:
type: string
example: ''
description: The user-driven scan name for the scan.
scanType:
type: string
example: ''
description: 'The scan type (automated, manual, scheduled). '
startTime:
type: string
example: ''
description: The start time of the scan in ISO8601 format.
startedBy:
type: string
example: ''
description: The name of the user that started the scan.
status:
type: string
example: ''
description: The scan status.
enum:
- aborted
- unknown
- running
- finished
- stopped
- error
- paused
- dispatched
- integrating
vulnerabilities:
example: ''
description: The vulnerability synopsis of the scan.
$ref: '#/components/schemas/Vulnerabilities'
description: ''
ServiceUnavailableError:
type: object
required:
- status
properties:
links:
type: array
description: Hypermedia links to corresponding or related resources.
items:
$ref: '#/components/schemas/Link'
message:
type: string
example: An error has occurred.
description: The messages indicating the cause or reason for failure.
status:
type: string
example: '503'
description: The HTTP status code for the error (same as in the HTTP response).
enum:
- '503'
description: ''
securitySchemes:
Basic:
type: http
scheme: basic