Rapid7 · Capability

InsightVM API — Report

InsightVM API — Report. 13 operations. Lead operation: Report Formats. Self-contained Naftiko capability covering one business surface.

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

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

Tagged areas include Rapid7 and Report.

Run with Naftiko Rapid7Report

What You Can Do

GET
Getreportformats — Report Formats
/v1/api/3/report_formats
GET
Getreporttemplates — Report Templates
/v1/api/3/report_templates
GET
Getreporttemplate — Report Template
/v1/api/3/report_templates/{id}
GET
Getreports — Reports
/v1/api/3/reports
POST
Createreport — Reports
/v1/api/3/reports
GET
Getreport — Report
/v1/api/3/reports/{id}
PUT
Updatereport — Report
/v1/api/3/reports/{id}
DELETE
Deletereport — Report
/v1/api/3/reports/{id}
POST
Generatereport — Report Generation
/v1/api/3/reports/{id}/generate
GET
Getreportinstances — Report Histories
/v1/api/3/reports/{id}/history
GET
Getreportinstance — Report History
/v1/api/3/reports/{id}/history/{instance}
DELETE
Deletereportinstance — Report History
/v1/api/3/reports/{id}/history/{instance}
GET
Downloadreport — Report Download
/v1/api/3/reports/{id}/history/{instance}/output

MCP Tools

rapid7-getreportformats

Report Formats

read-only idempotent
rapid7-getreporttemplates

Report Templates

read-only idempotent
rapid7-getreporttemplate

Report Template

read-only idempotent
rapid7-getreports

Reports

read-only idempotent
rapid7-createreport

Reports

rapid7-getreport

Report

read-only idempotent
rapid7-updatereport

Report

idempotent
rapid7-deletereport

Report

idempotent
rapid7-generatereport

Report Generation

rapid7-getreportinstances

Report Histories

read-only idempotent
rapid7-getreportinstance

Report History

read-only idempotent
rapid7-deletereportinstance

Report History

idempotent
rapid7-downloadreport

Report Download

read-only idempotent

Capability Spec

insightvm-console-swagger-report.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: InsightVM API — Report
  description: 'InsightVM API — Report. 13 operations. Lead operation: Report Formats. Self-contained Naftiko capability covering one business surface.'
  tags:
  - Rapid7
  - Report
  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-report
    baseUri: https://localhost:3780
    description: InsightVM API — Report business capability. Self-contained, no shared references.
    resources:
    - name: api-3-report-formats
      path: /api/3/report_formats
      operations:
      - name: getreportformats
        method: GET
        description: Report Formats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
    - name: api-3-report-templates
      path: /api/3/report_templates
      operations:
      - name: getreporttemplates
        method: GET
        description: Report Templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
    - name: api-3-report-templates-id
      path: /api/3/report_templates/{id}
      operations:
      - name: getreporttemplate
        method: GET
        description: Report Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The identifier of the report template;
          required: true
    - name: api-3-reports
      path: /api/3/reports
      operations:
      - name: getreports
        method: GET
        description: Reports
        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: createreport
        method: POST
        description: Reports
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: report
          in: body
          type: string
          description: The specification of a report configuration.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-3-reports-id
      path: /api/3/reports/{id}
      operations:
      - name: getreport
        method: GET
        description: Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
      - name: updatereport
        method: PUT
        description: Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
        - name: report
          in: body
          type: string
          description: The specification of a report configuration.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletereport
        method: DELETE
        description: Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
    - name: api-3-reports-id-generate
      path: /api/3/reports/{id}/generate
      operations:
      - name: generatereport
        method: POST
        description: Report Generation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-3-reports-id-history
      path: /api/3/reports/{id}/history
      operations:
      - name: getreportinstances
        method: GET
        description: Report Histories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
    - name: api-3-reports-id-history-instance
      path: /api/3/reports/{id}/history/{instance}
      operations:
      - name: getreportinstance
        method: GET
        description: Report History
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
        - name: instance
          in: path
          type: string
          description: The identifier of the report instance.
          required: true
      - name: deletereportinstance
        method: DELETE
        description: Report History
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
        - name: instance
          in: path
          type: string
          description: The identifier of the report instance.
          required: true
    - name: api-3-reports-id-history-instance-output
      path: /api/3/reports/{id}/history/{instance}/output
      operations:
      - name: downloadreport
        method: GET
        description: Report Download
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The identifier of the report.
          required: true
        - name: instance
          in: path
          type: string
          description: The identifier of the report instance.
          required: true
  exposes:
  - type: rest
    namespace: insightvm-console-swagger-report-rest
    port: 8080
    description: REST adapter for InsightVM API — Report. One resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/3/report_formats
      name: api-3-report-formats
      description: REST surface for api-3-report-formats.
      operations:
      - method: GET
        name: getreportformats
        description: Report Formats
        call: insightvm-console-swagger-report.getreportformats
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/report_templates
      name: api-3-report-templates
      description: REST surface for api-3-report-templates.
      operations:
      - method: GET
        name: getreporttemplates
        description: Report Templates
        call: insightvm-console-swagger-report.getreporttemplates
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/report_templates/{id}
      name: api-3-report-templates-id
      description: REST surface for api-3-report-templates-id.
      operations:
      - method: GET
        name: getreporttemplate
        description: Report Template
        call: insightvm-console-swagger-report.getreporttemplate
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/reports
      name: api-3-reports
      description: REST surface for api-3-reports.
      operations:
      - method: GET
        name: getreports
        description: Reports
        call: insightvm-console-swagger-report.getreports
        with:
          page: rest.page
          size: rest.size
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreport
        description: Reports
        call: insightvm-console-swagger-report.createreport
        with:
          report: rest.report
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/reports/{id}
      name: api-3-reports-id
      description: REST surface for api-3-reports-id.
      operations:
      - method: GET
        name: getreport
        description: Report
        call: insightvm-console-swagger-report.getreport
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatereport
        description: Report
        call: insightvm-console-swagger-report.updatereport
        with:
          id: rest.id
          report: rest.report
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletereport
        description: Report
        call: insightvm-console-swagger-report.deletereport
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/reports/{id}/generate
      name: api-3-reports-id-generate
      description: REST surface for api-3-reports-id-generate.
      operations:
      - method: POST
        name: generatereport
        description: Report Generation
        call: insightvm-console-swagger-report.generatereport
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/reports/{id}/history
      name: api-3-reports-id-history
      description: REST surface for api-3-reports-id-history.
      operations:
      - method: GET
        name: getreportinstances
        description: Report Histories
        call: insightvm-console-swagger-report.getreportinstances
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/reports/{id}/history/{instance}
      name: api-3-reports-id-history-instance
      description: REST surface for api-3-reports-id-history-instance.
      operations:
      - method: GET
        name: getreportinstance
        description: Report History
        call: insightvm-console-swagger-report.getreportinstance
        with:
          id: rest.id
          instance: rest.instance
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletereportinstance
        description: Report History
        call: insightvm-console-swagger-report.deletereportinstance
        with:
          id: rest.id
          instance: rest.instance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/reports/{id}/history/{instance}/output
      name: api-3-reports-id-history-instance-output
      description: REST surface for api-3-reports-id-history-instance-output.
      operations:
      - method: GET
        name: downloadreport
        description: Report Download
        call: insightvm-console-swagger-report.downloadreport
        with:
          id: rest.id
          instance: rest.instance
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: insightvm-console-swagger-report-mcp
    port: 9090
    transport: http
    description: MCP adapter for InsightVM API — Report. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: rapid7-getreportformats
      description: Report Formats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreportformats
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getreporttemplates
      description: Report Templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreporttemplates
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getreporttemplate
      description: Report Template
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreporttemplate
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getreports
      description: Reports
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreports
      with:
        page: tools.page
        size: tools.size
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-createreport
      description: Reports
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: insightvm-console-swagger-report.createreport
      with:
        report: tools.report
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getreport
      description: Report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreport
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-updatereport
      description: Report
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.updatereport
      with:
        id: tools.id
        report: tools.report
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-deletereport
      description: Report
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: insightvm-console-swagger-report.deletereport
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-generatereport
      description: Report Generation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: insightvm-console-swagger-report.generatereport
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getreportinstances
      description: Report Histories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreportinstances
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-getreportinstance
      description: Report History
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.getreportinstance
      with:
        id: tools.id
        instance: tools.instance
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-deletereportinstance
      description: Report History
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: insightvm-console-swagger-report.deletereportinstance
      with:
        id: tools.id
        instance: tools.instance
      outputParameters:
      - type: object
        mapping: $.
    - name: rapid7-downloadreport
      description: Report Download
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insightvm-console-swagger-report.downloadreport
      with:
        id: tools.id
        instance: tools.instance
      outputParameters:
      - type: object
        mapping: $.