naftiko: 1.0.0-alpha2 info: label: InsightVM API — Scan Engine description: 'InsightVM API — Scan Engine. 22 operations. Lead operation: Engine Pools. Self-contained Naftiko capability covering one business surface.' tags: - Rapid7 - Scan Engine 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-scan-engine baseUri: https://localhost:3780 description: InsightVM API — Scan Engine business capability. Self-contained, no shared references. resources: - name: api-3-scan-engine-pools path: /api/3/scan_engine_pools operations: - name: getscanenginepools method: GET description: Engine Pools outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: createscanenginepool method: POST description: Engine Pools outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: enginePool in: body type: string description: The details for the scan engine to update. - name: body in: body type: object description: Request body (JSON). required: true - name: api-3-scan-engine-pools-id path: /api/3/scan_engine_pools/{id} operations: - name: getenginepool method: GET description: Engine Pool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: updatescanenginepool method: PUT description: Engine Pool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: enginePool in: body type: string description: The details for the scan engine to update. - name: body in: body type: object description: Request body (JSON). required: false - name: removescanenginepool method: DELETE description: Engine Pool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: api-3-scan-engine-pools-id-engines path: /api/3/scan_engine_pools/{id}/engines operations: - name: getscanenginepoolscanengines method: GET description: Engine Pool Engines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: setscanenginepoolscanengines method: PUT description: Engine Pool Engines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: engines in: body type: array description: The identifiers of the scan engines to place into the engine pool. - name: body in: body type: object description: Request body (JSON). required: false - name: api-3-scan-engine-pools-id-engines-engineid path: /api/3/scan_engine_pools/{id}/engines/{engineId} operations: - name: addscanenginepoolscanengine method: PUT description: Engine Pool Engines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: engineId in: path type: integer description: The identifier of the scan engine. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: removescanenginepoolscanengine method: DELETE description: Engine Pool Engines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: engineId in: path type: integer description: The identifier of the scan engine. required: true - name: api-3-scan-engine-pools-id-sites path: /api/3/scan_engine_pools/{id}/sites operations: - name: getscanenginepoolsites method: GET description: Engine Pool Sites outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the engine pool. required: true - name: api-3-scan-engines path: /api/3/scan_engines operations: - name: getscanengines method: GET description: Scan Engines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: createscanengine method: POST description: Scan Engines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: scanEngine in: body type: string description: The specification of a scan engine. - name: body in: body type: object description: Request body (JSON). required: true - name: api-3-scan-engines-shared-secret path: /api/3/scan_engines/shared_secret operations: - name: getcurrentsharedsecret method: GET description: Scan Engine Shared Secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: createsharedsecret method: POST description: Scan Engine Shared Secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletesharedsecret method: DELETE description: Scan Engine Shared Secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: api-3-scan-engines-shared-secret-time-to-live path: /api/3/scan_engines/shared_secret/time_to_live operations: - name: getcurrentsharedsecrettimetolive method: GET description: Scan Engine Shared Secret Time to live outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: api-3-scan-engines-id path: /api/3/scan_engines/{id} operations: - name: getscanengine method: GET description: Scan Engine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the scan engine. required: true - name: updatescanengine method: PUT description: Scan Engine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the scan engine. required: true - name: scanEngine in: body type: string description: The specification of the scan engine to update. - name: body in: body type: object description: Request body (JSON). required: false - name: deletescanengine method: DELETE description: Scan Engine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the scan engine. required: true - name: api-3-scan-engines-id-scan-engine-pools path: /api/3/scan_engines/{id}/scan_engine_pools operations: - name: getassignedenginepools method: GET description: Assigned Engine Pools outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the scan engine. required: true - name: api-3-scan-engines-id-scans path: /api/3/scan_engines/{id}/scans operations: - name: getscanenginescans method: GET description: Scan Engine Scans outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the scan engine. required: true - 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-scan-engines-id-sites path: /api/3/scan_engines/{id}/sites operations: - name: getscanenginesites method: GET description: Scan Engine Sites outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The identifier of the scan engine. required: true - 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.' exposes: - type: rest namespace: insightvm-console-swagger-scan-engine-rest port: 8080 description: REST adapter for InsightVM API — Scan Engine. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/3/scan_engine_pools name: api-3-scan-engine-pools description: REST surface for api-3-scan-engine-pools. operations: - method: GET name: getscanenginepools description: Engine Pools call: insightvm-console-swagger-scan-engine.getscanenginepools with: {} outputParameters: - type: object mapping: $. - method: POST name: createscanenginepool description: Engine Pools call: insightvm-console-swagger-scan-engine.createscanenginepool with: enginePool: rest.enginePool body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engine_pools/{id} name: api-3-scan-engine-pools-id description: REST surface for api-3-scan-engine-pools-id. operations: - method: GET name: getenginepool description: Engine Pool call: insightvm-console-swagger-scan-engine.getenginepool with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatescanenginepool description: Engine Pool call: insightvm-console-swagger-scan-engine.updatescanenginepool with: id: rest.id enginePool: rest.enginePool body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removescanenginepool description: Engine Pool call: insightvm-console-swagger-scan-engine.removescanenginepool with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engine_pools/{id}/engines name: api-3-scan-engine-pools-id-engines description: REST surface for api-3-scan-engine-pools-id-engines. operations: - method: GET name: getscanenginepoolscanengines description: Engine Pool Engines call: insightvm-console-swagger-scan-engine.getscanenginepoolscanengines with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: setscanenginepoolscanengines description: Engine Pool Engines call: insightvm-console-swagger-scan-engine.setscanenginepoolscanengines with: id: rest.id engines: rest.engines body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engine_pools/{id}/engines/{engineId} name: api-3-scan-engine-pools-id-engines-engineid description: REST surface for api-3-scan-engine-pools-id-engines-engineid. operations: - method: PUT name: addscanenginepoolscanengine description: Engine Pool Engines call: insightvm-console-swagger-scan-engine.addscanenginepoolscanengine with: id: rest.id engineId: rest.engineId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removescanenginepoolscanengine description: Engine Pool Engines call: insightvm-console-swagger-scan-engine.removescanenginepoolscanengine with: id: rest.id engineId: rest.engineId outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engine_pools/{id}/sites name: api-3-scan-engine-pools-id-sites description: REST surface for api-3-scan-engine-pools-id-sites. operations: - method: GET name: getscanenginepoolsites description: Engine Pool Sites call: insightvm-console-swagger-scan-engine.getscanenginepoolsites with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines name: api-3-scan-engines description: REST surface for api-3-scan-engines. operations: - method: GET name: getscanengines description: Scan Engines call: insightvm-console-swagger-scan-engine.getscanengines with: {} outputParameters: - type: object mapping: $. - method: POST name: createscanengine description: Scan Engines call: insightvm-console-swagger-scan-engine.createscanengine with: scanEngine: rest.scanEngine body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines/shared_secret name: api-3-scan-engines-shared-secret description: REST surface for api-3-scan-engines-shared-secret. operations: - method: GET name: getcurrentsharedsecret description: Scan Engine Shared Secret call: insightvm-console-swagger-scan-engine.getcurrentsharedsecret with: {} outputParameters: - type: object mapping: $. - method: POST name: createsharedsecret description: Scan Engine Shared Secret call: insightvm-console-swagger-scan-engine.createsharedsecret with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesharedsecret description: Scan Engine Shared Secret call: insightvm-console-swagger-scan-engine.deletesharedsecret with: {} outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines/shared_secret/time_to_live name: api-3-scan-engines-shared-secret-time-to-live description: REST surface for api-3-scan-engines-shared-secret-time-to-live. operations: - method: GET name: getcurrentsharedsecrettimetolive description: Scan Engine Shared Secret Time to live call: insightvm-console-swagger-scan-engine.getcurrentsharedsecrettimetolive with: {} outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines/{id} name: api-3-scan-engines-id description: REST surface for api-3-scan-engines-id. operations: - method: GET name: getscanengine description: Scan Engine call: insightvm-console-swagger-scan-engine.getscanengine with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatescanengine description: Scan Engine call: insightvm-console-swagger-scan-engine.updatescanengine with: id: rest.id scanEngine: rest.scanEngine body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletescanengine description: Scan Engine call: insightvm-console-swagger-scan-engine.deletescanengine with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines/{id}/scan_engine_pools name: api-3-scan-engines-id-scan-engine-pools description: REST surface for api-3-scan-engines-id-scan-engine-pools. operations: - method: GET name: getassignedenginepools description: Assigned Engine Pools call: insightvm-console-swagger-scan-engine.getassignedenginepools with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines/{id}/scans name: api-3-scan-engines-id-scans description: REST surface for api-3-scan-engines-id-scans. operations: - method: GET name: getscanenginescans description: Scan Engine Scans call: insightvm-console-swagger-scan-engine.getscanenginescans with: id: rest.id page: rest.page size: rest.size sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/api/3/scan_engines/{id}/sites name: api-3-scan-engines-id-sites description: REST surface for api-3-scan-engines-id-sites. operations: - method: GET name: getscanenginesites description: Scan Engine Sites call: insightvm-console-swagger-scan-engine.getscanenginesites with: id: rest.id page: rest.page size: rest.size sort: rest.sort outputParameters: - type: object mapping: $. - type: mcp namespace: insightvm-console-swagger-scan-engine-mcp port: 9090 transport: http description: MCP adapter for InsightVM API — Scan Engine. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: rapid7-getscanenginepools description: Engine Pools hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanenginepools with: {} outputParameters: - type: object mapping: $. - name: rapid7-createscanenginepool description: Engine Pools hints: readOnly: false destructive: false idempotent: false call: insightvm-console-swagger-scan-engine.createscanenginepool with: enginePool: tools.enginePool body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-getenginepool description: Engine Pool hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getenginepool with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-updatescanenginepool description: Engine Pool hints: readOnly: false destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.updatescanenginepool with: id: tools.id enginePool: tools.enginePool body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-removescanenginepool description: Engine Pool hints: readOnly: false destructive: true idempotent: true call: insightvm-console-swagger-scan-engine.removescanenginepool with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-getscanenginepoolscanengines description: Engine Pool Engines hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanenginepoolscanengines with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-setscanenginepoolscanengines description: Engine Pool Engines hints: readOnly: false destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.setscanenginepoolscanengines with: id: tools.id engines: tools.engines body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-addscanenginepoolscanengine description: Engine Pool Engines hints: readOnly: false destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.addscanenginepoolscanengine with: id: tools.id engineId: tools.engineId body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-removescanenginepoolscanengine description: Engine Pool Engines hints: readOnly: false destructive: true idempotent: true call: insightvm-console-swagger-scan-engine.removescanenginepoolscanengine with: id: tools.id engineId: tools.engineId outputParameters: - type: object mapping: $. - name: rapid7-getscanenginepoolsites description: Engine Pool Sites hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanenginepoolsites with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-getscanengines description: Scan Engines hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanengines with: {} outputParameters: - type: object mapping: $. - name: rapid7-createscanengine description: Scan Engines hints: readOnly: false destructive: false idempotent: false call: insightvm-console-swagger-scan-engine.createscanengine with: scanEngine: tools.scanEngine body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-getcurrentsharedsecret description: Scan Engine Shared Secret hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getcurrentsharedsecret with: {} outputParameters: - type: object mapping: $. - name: rapid7-createsharedsecret description: Scan Engine Shared Secret hints: readOnly: false destructive: false idempotent: false call: insightvm-console-swagger-scan-engine.createsharedsecret with: body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-deletesharedsecret description: Scan Engine Shared Secret hints: readOnly: false destructive: true idempotent: true call: insightvm-console-swagger-scan-engine.deletesharedsecret with: {} outputParameters: - type: object mapping: $. - name: rapid7-getcurrentsharedsecrettimetolive description: Scan Engine Shared Secret Time to live hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getcurrentsharedsecrettimetolive with: {} outputParameters: - type: object mapping: $. - name: rapid7-getscanengine description: Scan Engine hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanengine with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-updatescanengine description: Scan Engine hints: readOnly: false destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.updatescanengine with: id: tools.id scanEngine: tools.scanEngine body: tools.body outputParameters: - type: object mapping: $. - name: rapid7-deletescanengine description: Scan Engine hints: readOnly: false destructive: true idempotent: true call: insightvm-console-swagger-scan-engine.deletescanengine with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-getassignedenginepools description: Assigned Engine Pools hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getassignedenginepools with: id: tools.id outputParameters: - type: object mapping: $. - name: rapid7-getscanenginescans description: Scan Engine Scans hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanenginescans with: id: tools.id page: tools.page size: tools.size sort: tools.sort outputParameters: - type: object mapping: $. - name: rapid7-getscanenginesites description: Scan Engine Sites hints: readOnly: true destructive: false idempotent: true call: insightvm-console-swagger-scan-engine.getscanenginesites with: id: tools.id page: tools.page size: tools.size sort: tools.sort outputParameters: - type: object mapping: $.