Rapid7 · Capability

InsightVM API — Asset Discovery

InsightVM API — Asset Discovery. 10 operations. Lead operation: Discovery Connections. Self-contained Naftiko capability covering one business surface.

InsightVM API — Asset Discovery is a Naftiko capability published by Rapid7, one of 47 capabilities the APIs.io network indexes for this provider. It bundles 10 operations across the GET, POST, PUT, and DELETE methods rooted at /v1/api/3.

The capability includes 5 read-only operations and 5 state-changing operations. Lead operation: Discovery Connections. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Rapid7 and Asset Discovery.

Run with Naftiko Rapid7Asset Discovery

What You Can Do

GET
Getdiscoveryconnections — Discovery Connections
/v1/api/3/discovery_connections
GET
Getdiscoveryconnection — Discovery Connection
/v1/api/3/discovery_connections/{id}
POST
Reconnectdiscoveryconnection — Discovery Connection Reconnect
/v1/api/3/discovery_connections/{id}/connect
GET
Getsonarqueries — Sonar Queries
/v1/api/3/sonar_queries
POST
Createsonarquery — Sonar Queries
/v1/api/3/sonar_queries
POST
Sonarquerysearch — Sonar Query Search
/v1/api/3/sonar_queries/search
GET
Getsonarquery — Sonar Query
/v1/api/3/sonar_queries/{id}
PUT
Updatesonarquery — Sonar Query
/v1/api/3/sonar_queries/{id}
DELETE
Deletesonarquery — Sonar Query
/v1/api/3/sonar_queries/{id}
GET
Getsonarqueryassets — Sonar Query Assets
/v1/api/3/sonar_queries/{id}/assets

MCP Tools

rapid7-getdiscoveryconnections

Discovery Connections

read-only idempotent
rapid7-getdiscoveryconnection

Discovery Connection

read-only idempotent
rapid7-reconnectdiscoveryconnection

Discovery Connection Reconnect

rapid7-getsonarqueries

Sonar Queries

read-only idempotent
rapid7-createsonarquery

Sonar Queries

rapid7-sonarquerysearch

Sonar Query Search

rapid7-getsonarquery

Sonar Query

read-only idempotent
rapid7-updatesonarquery

Sonar Query

idempotent
rapid7-deletesonarquery

Sonar Query

idempotent
rapid7-getsonarqueryassets

Sonar Query Assets

read-only idempotent

Capability Spec

insightvm-console-swagger-asset-discovery.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: InsightVM API — Asset Discovery
  description: 'InsightVM API — Asset Discovery. 10 operations. Lead operation: Discovery Connections. Self-contained Naftiko capability covering one business surface.'
  tags:
  - Rapid7
  - Asset Discovery
  created: '2026-05-20'
  modified: '2026-05-20'
binds:
- namespace: env
  keys:
    RAPID7_API_KEY: RAPID7_API_KEY
capability:
  consumes:
  - type: http
    namespace: insightvm-console-swagger-asset-discovery
    baseUri: https://localhost:3780
    description: InsightVM API — Asset Discovery business capability. Self-contained, no shared references.
    resources:
    - name: api-3-discovery-connections
      path: /api/3/discovery_connections
      operations:
      - name: getdiscoveryconnections
        method: GET
        description: Discovery Connections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
          description: The index of the page (zero-based) to retrieve.
        - name: size
          in: query
          type: integer
          description: The number of records per page to retrieve.
        - name: sort
          in: query
          type: array
          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.'
    - name: api-3-discovery-connections-id
      path: /api/3/discovery_connections/{id}
      operations:
      - name: getdiscoveryconnection
        method: GET
        description: Discovery Connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the discovery connection.
          required: true
    - name: api-3-discovery-connections-id-connect
      path: /api/3/discovery_connections/{id}/connect
      operations:
      - name: reconnectdiscoveryconnection
        method: POST
        description: Discovery Connection Reconnect
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the discovery connection.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-3-sonar-queries
      path: /api/3/sonar_queries
      operations:
      - name: getsonarqueries
        method: GET
        description: Sonar Queries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
      - name: createsonarquery
        method: POST
        description: Sonar Queries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: body
          type: string
          description: The criteria for a Sonar query.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-3-sonar-queries-search
      path: /api/3/sonar_queries/search
      operations:
      - name: sonarquerysearch
        method: POST
        description: Sonar Query Search
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: body
          type: string
          description: The criteria for a Sonar query.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-3-sonar-queries-id
      path: /api/3/sonar_queries/{id}
      operations:
      - name: getsonarquery
        method: GET
        description: Sonar Query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the Sonar query.
          required: true
      - name: updatesonarquery
        method: PUT
        description: Sonar Query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the Sonar query.
          required: true
        - name: query
          in: body
          type: string
          description: The criteria for a Sonar query.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletesonarquery
        method: DELETE
        description: Sonar Query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the Sonar query.
          required: true
    - name: api-3-sonar-queries-id-assets
      path: /api/3/sonar_queries/{id}/assets
      operations:
      - name: getsonarqueryassets
        method: GET
        description: Sonar Query Assets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the Sonar query.
          required: true
  exposes:
  - type: rest
    namespace: insightvm-console-swagger-asset-discovery-rest
    port: 8080
    description: REST adapter for InsightVM API — Asset Discovery. One resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/3/discovery_connections
      name: api-3-discovery-connections
      description: REST surface for api-3-discovery-connections.
      operations:
      - method: GET
        name: getdiscoveryconnections
        description: Discovery Connections
        call: insightvm-console-swagger-asset-discovery.getdiscoveryconnections
        with:
          page: rest.page
          size: rest.size
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/discovery_connections/{id}
      name: api-3-discovery-connections-id
      description: REST surface for api-3-discovery-connections-id.
      operations:
      - method: GET
        name: getdiscoveryconnection
        description: Discovery Connection
        call: insightvm-console-swagger-asset-discovery.getdiscoveryconnection
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/discovery_connections/{id}/connect
      name: api-3-discovery-connections-id-connect
      description: REST surface for api-3-discovery-connections-id-connect.
      operations:
      - method: POST
        name: reconnectdiscoveryconnection
        description: Discovery Connection Reconnect
        call: insightvm-console-swagger-asset-discovery.reconnectdiscoveryconnection
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/sonar_queries
      name: api-3-sonar-queries
      description: REST surface for api-3-sonar-queries.
      operations:
      - method: GET
        name: getsonarqueries
        description: Sonar Queries
        call: insightvm-console-swagger-asset-discovery.getsonarqueries
        with: {}
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsonarquery
        description: Sonar Queries
        call: insightvm-console-swagger-asset-discovery.createsonarquery
        with:
          query: rest.query
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/sonar_queries/search
      name: api-3-sonar-queries-search
      description: REST surface for api-3-sonar-queries-search.
      operations:
      - method: POST
        name: sonarquerysearch
        description: Sonar Query Search
        call: insightvm-console-swagger-asset-discovery.sonarquerysearch
        with:
          query: rest.query
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/sonar_queries/{id}
      name: api-3-sonar-queries-id
      description: REST surface for api-3-sonar-queries-id.
      operations:
      - method: GET
        name: getsonarquery
        description: Sonar Query
        call: insightvm-console-swagger-asset-discovery.getsonarquery
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatesonarquery
        description: Sonar Query
        call: insightvm-console-swagger-asset-discovery.updatesonarquery
        with:
          id: rest.id
          query: rest.query
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesonarquery
        description: Sonar Query
        call: insightvm-console-swagger-asset-discovery.deletesonarquery
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/sonar_queries/{id}/assets
      name: api-3-sonar-queries-id-assets
      description: REST surface for api-3-sonar-queries-id-assets.
      operations:
      - method: GET
        name: getsonarqueryassets
        description: Sonar Query Assets
        call: insightvm-console-swagger-asset-discovery.getsonarqueryassets
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: insightvm-console-swagger-asset-discovery-mcp
    port: 9090
    transport: http
    description: MCP adapter for InsightVM API — Asset Discovery. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: rapid7-getdiscoveryconnections
      description: Discovery Connections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.getdiscoveryconnections
      with:
        page: tools.page
        size: tools.size
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getdiscoveryconnection
      description: Discovery Connection
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.getdiscoveryconnection
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-reconnectdiscoveryconnection
      description: Discovery Connection Reconnect
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: insightvm-console-swagger-asset-discovery.reconnectdiscoveryconnection
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getsonarqueries
      description: Sonar Queries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.getsonarqueries
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-createsonarquery
      description: Sonar Queries
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: insightvm-console-swagger-asset-discovery.createsonarquery
      with:
        query: tools.query
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-sonarquerysearch
      description: Sonar Query Search
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: insightvm-console-swagger-asset-discovery.sonarquerysearch
      with:
        query: tools.query
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getsonarquery
      description: Sonar Query
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.getsonarquery
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-updatesonarquery
      description: Sonar Query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.updatesonarquery
      with:
        id: tools.id
        query: tools.query
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-deletesonarquery
      description: Sonar Query
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.deletesonarquery
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getsonarqueryassets
      description: Sonar Query Assets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-asset-discovery.getsonarqueryassets
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.