naftiko: 1.0.0-alpha2 info: label: Hoverfly Admin API description: Hoverfly's Admin API provides programmatic control of a Hoverfly instance, including simulation management, mode and middleware configuration, journal and diff inspection, state management, caching, logging, templating data sources, and post-serve actions. tags: - Hoverfly - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: hoverfly baseUri: http://localhost:8888 description: Hoverfly Admin API HTTP API. resources: - name: api-v2-simulation path: /api/v2/simulation operations: - name: getsimulation method: GET description: Get simulation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: replacesimulation method: PUT description: Replace simulation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: appendsimulation method: POST description: Append simulation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: clearsimulation method: DELETE description: Clear simulation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-simulation-schema path: /api/v2/simulation/schema operations: - name: getsimulationschema method: GET description: Get simulation JSON schema outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly path: /api/v2/hoverfly operations: - name: gethoverfly method: GET description: Get Hoverfly configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-cors path: /api/v2/hoverfly/cors operations: - name: getcors method: GET description: Get CORS settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-destination path: /api/v2/hoverfly/destination operations: - name: getdestination method: GET description: Get destination outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setdestination method: PUT description: Set destination outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-middleware path: /api/v2/hoverfly/middleware operations: - name: getmiddleware method: GET description: Get middleware outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setmiddleware method: PUT description: Update middleware outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-mode path: /api/v2/hoverfly/mode operations: - name: getmode method: GET description: Get mode outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setmode method: PUT description: Set mode outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-version path: /api/v2/hoverfly/version operations: - name: getversion method: GET description: Get version outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-usage path: /api/v2/hoverfly/usage operations: - name: getusage method: GET description: Get usage metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-upstream-proxy path: /api/v2/hoverfly/upstream-proxy operations: - name: getupstreamproxy method: GET description: Get upstream proxy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-pac path: /api/v2/hoverfly/pac operations: - name: getpac method: GET description: Get PAC file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setpac method: PUT description: Set PAC file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletepac method: DELETE description: Delete PAC file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-post-serve-action path: /api/v2/hoverfly/post-serve-action operations: - name: listpostserveactions method: GET description: List post-serve actions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: upsertpostserveaction method: PUT description: Create or update post-serve action outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-post-serve-action-actionname path: /api/v2/hoverfly/post-serve-action/{actionName} operations: - name: deletepostserveaction method: DELETE description: Delete post-serve action inputParameters: - name: actionName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-cache path: /api/v2/cache operations: - name: getcache method: GET description: Get cache outputRawFormat: json outputParameters: - name: result type: object value: $. - name: clearcache method: DELETE description: Clear cache outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-logs path: /api/v2/logs operations: - name: getlogs method: GET description: Get logs inputParameters: - name: limit in: query type: integer - name: from in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-journal path: /api/v2/journal operations: - name: getjournal method: GET description: Get journal inputParameters: - name: limit in: query type: integer - name: offset in: query type: integer - name: from in: query type: integer - name: to in: query type: integer - name: sort in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: filterjournal method: POST description: Filter journal outputRawFormat: json outputParameters: - name: result type: object value: $. - name: clearjournal method: DELETE description: Clear journal outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-journal-index path: /api/v2/journal/index operations: - name: listjournalindexes method: GET description: List journal indexes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createjournalindex method: POST description: Create journal index outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-journal-index-indexname path: /api/v2/journal/index/{indexName} operations: - name: deletejournalindex method: DELETE description: Delete journal index inputParameters: - name: indexName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-state path: /api/v2/state operations: - name: getstate method: GET description: Get state outputRawFormat: json outputParameters: - name: result type: object value: $. - name: replacestate method: PUT description: Replace state outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchstate method: PATCH description: Patch state outputRawFormat: json outputParameters: - name: result type: object value: $. - name: clearstate method: DELETE description: Clear state outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-diff path: /api/v2/diff operations: - name: getdiff method: GET description: Get diff reports outputRawFormat: json outputParameters: - name: result type: object value: $. - name: filterdiff method: POST description: Filter diff reports outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cleardiff method: DELETE description: Clear diff reports outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-templating-data-source-csv path: /api/v2/hoverfly/templating-data-source/csv operations: - name: listcsvdatasources method: GET description: List CSV data sources outputRawFormat: json outputParameters: - name: result type: object value: $. - name: upsertcsvdatasource method: PUT description: Upsert CSV data source outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-templating-data-source-csv-datas path: /api/v2/hoverfly/templating-data-source/csv/{dataSourceName} operations: - name: deletecsvdatasource method: DELETE description: Delete CSV data source inputParameters: - name: dataSourceName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-shutdown path: /api/v2/shutdown operations: - name: shutdown method: DELETE description: Shut down Hoverfly outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: hoverfly-rest description: REST adapter for Hoverfly Admin API. resources: - path: /api/v2/simulation name: getsimulation operations: - method: GET name: getsimulation description: Get simulation call: hoverfly.getsimulation outputParameters: - type: object mapping: $. - path: /api/v2/simulation name: replacesimulation operations: - method: PUT name: replacesimulation description: Replace simulation call: hoverfly.replacesimulation outputParameters: - type: object mapping: $. - path: /api/v2/simulation name: appendsimulation operations: - method: POST name: appendsimulation description: Append simulation call: hoverfly.appendsimulation outputParameters: - type: object mapping: $. - path: /api/v2/simulation name: clearsimulation operations: - method: DELETE name: clearsimulation description: Clear simulation call: hoverfly.clearsimulation outputParameters: - type: object mapping: $. - path: /api/v2/simulation/schema name: getsimulationschema operations: - method: GET name: getsimulationschema description: Get simulation JSON schema call: hoverfly.getsimulationschema outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly name: gethoverfly operations: - method: GET name: gethoverfly description: Get Hoverfly configuration call: hoverfly.gethoverfly outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/cors name: getcors operations: - method: GET name: getcors description: Get CORS settings call: hoverfly.getcors outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/destination name: getdestination operations: - method: GET name: getdestination description: Get destination call: hoverfly.getdestination outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/destination name: setdestination operations: - method: PUT name: setdestination description: Set destination call: hoverfly.setdestination outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/middleware name: getmiddleware operations: - method: GET name: getmiddleware description: Get middleware call: hoverfly.getmiddleware outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/middleware name: setmiddleware operations: - method: PUT name: setmiddleware description: Update middleware call: hoverfly.setmiddleware outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/mode name: getmode operations: - method: GET name: getmode description: Get mode call: hoverfly.getmode outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/mode name: setmode operations: - method: PUT name: setmode description: Set mode call: hoverfly.setmode outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/version name: getversion operations: - method: GET name: getversion description: Get version call: hoverfly.getversion outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/usage name: getusage operations: - method: GET name: getusage description: Get usage metrics call: hoverfly.getusage outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/upstream-proxy name: getupstreamproxy operations: - method: GET name: getupstreamproxy description: Get upstream proxy call: hoverfly.getupstreamproxy outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/pac name: getpac operations: - method: GET name: getpac description: Get PAC file call: hoverfly.getpac outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/pac name: setpac operations: - method: PUT name: setpac description: Set PAC file call: hoverfly.setpac outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/pac name: deletepac operations: - method: DELETE name: deletepac description: Delete PAC file call: hoverfly.deletepac outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/post-serve-action name: listpostserveactions operations: - method: GET name: listpostserveactions description: List post-serve actions call: hoverfly.listpostserveactions outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/post-serve-action name: upsertpostserveaction operations: - method: PUT name: upsertpostserveaction description: Create or update post-serve action call: hoverfly.upsertpostserveaction outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/post-serve-action/{actionName} name: deletepostserveaction operations: - method: DELETE name: deletepostserveaction description: Delete post-serve action call: hoverfly.deletepostserveaction with: actionName: rest.actionName outputParameters: - type: object mapping: $. - path: /api/v2/cache name: getcache operations: - method: GET name: getcache description: Get cache call: hoverfly.getcache outputParameters: - type: object mapping: $. - path: /api/v2/cache name: clearcache operations: - method: DELETE name: clearcache description: Clear cache call: hoverfly.clearcache outputParameters: - type: object mapping: $. - path: /api/v2/logs name: getlogs operations: - method: GET name: getlogs description: Get logs call: hoverfly.getlogs outputParameters: - type: object mapping: $. - path: /api/v2/journal name: getjournal operations: - method: GET name: getjournal description: Get journal call: hoverfly.getjournal outputParameters: - type: object mapping: $. - path: /api/v2/journal name: filterjournal operations: - method: POST name: filterjournal description: Filter journal call: hoverfly.filterjournal outputParameters: - type: object mapping: $. - path: /api/v2/journal name: clearjournal operations: - method: DELETE name: clearjournal description: Clear journal call: hoverfly.clearjournal outputParameters: - type: object mapping: $. - path: /api/v2/journal/index name: listjournalindexes operations: - method: GET name: listjournalindexes description: List journal indexes call: hoverfly.listjournalindexes outputParameters: - type: object mapping: $. - path: /api/v2/journal/index name: createjournalindex operations: - method: POST name: createjournalindex description: Create journal index call: hoverfly.createjournalindex outputParameters: - type: object mapping: $. - path: /api/v2/journal/index/{indexName} name: deletejournalindex operations: - method: DELETE name: deletejournalindex description: Delete journal index call: hoverfly.deletejournalindex with: indexName: rest.indexName outputParameters: - type: object mapping: $. - path: /api/v2/state name: getstate operations: - method: GET name: getstate description: Get state call: hoverfly.getstate outputParameters: - type: object mapping: $. - path: /api/v2/state name: replacestate operations: - method: PUT name: replacestate description: Replace state call: hoverfly.replacestate outputParameters: - type: object mapping: $. - path: /api/v2/state name: patchstate operations: - method: PATCH name: patchstate description: Patch state call: hoverfly.patchstate outputParameters: - type: object mapping: $. - path: /api/v2/state name: clearstate operations: - method: DELETE name: clearstate description: Clear state call: hoverfly.clearstate outputParameters: - type: object mapping: $. - path: /api/v2/diff name: getdiff operations: - method: GET name: getdiff description: Get diff reports call: hoverfly.getdiff outputParameters: - type: object mapping: $. - path: /api/v2/diff name: filterdiff operations: - method: POST name: filterdiff description: Filter diff reports call: hoverfly.filterdiff outputParameters: - type: object mapping: $. - path: /api/v2/diff name: cleardiff operations: - method: DELETE name: cleardiff description: Clear diff reports call: hoverfly.cleardiff outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/templating-data-source/csv name: listcsvdatasources operations: - method: GET name: listcsvdatasources description: List CSV data sources call: hoverfly.listcsvdatasources outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/templating-data-source/csv name: upsertcsvdatasource operations: - method: PUT name: upsertcsvdatasource description: Upsert CSV data source call: hoverfly.upsertcsvdatasource outputParameters: - type: object mapping: $. - path: /api/v2/hoverfly/templating-data-source/csv/{dataSourceName} name: deletecsvdatasource operations: - method: DELETE name: deletecsvdatasource description: Delete CSV data source call: hoverfly.deletecsvdatasource with: dataSourceName: rest.dataSourceName outputParameters: - type: object mapping: $. - path: /api/v2/shutdown name: shutdown operations: - method: DELETE name: shutdown description: Shut down Hoverfly call: hoverfly.shutdown outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: hoverfly-mcp transport: http description: MCP adapter for Hoverfly Admin API for AI agent use. tools: - name: getsimulation description: Get simulation hints: readOnly: true destructive: false idempotent: true call: hoverfly.getsimulation outputParameters: - type: object mapping: $. - name: replacesimulation description: Replace simulation hints: readOnly: false destructive: false idempotent: true call: hoverfly.replacesimulation outputParameters: - type: object mapping: $. - name: appendsimulation description: Append simulation hints: readOnly: false destructive: false idempotent: false call: hoverfly.appendsimulation outputParameters: - type: object mapping: $. - name: clearsimulation description: Clear simulation hints: readOnly: false destructive: true idempotent: true call: hoverfly.clearsimulation outputParameters: - type: object mapping: $. - name: getsimulationschema description: Get simulation JSON schema hints: readOnly: true destructive: false idempotent: true call: hoverfly.getsimulationschema outputParameters: - type: object mapping: $. - name: gethoverfly description: Get Hoverfly configuration hints: readOnly: true destructive: false idempotent: true call: hoverfly.gethoverfly outputParameters: - type: object mapping: $. - name: getcors description: Get CORS settings hints: readOnly: true destructive: false idempotent: true call: hoverfly.getcors outputParameters: - type: object mapping: $. - name: getdestination description: Get destination hints: readOnly: true destructive: false idempotent: true call: hoverfly.getdestination outputParameters: - type: object mapping: $. - name: setdestination description: Set destination hints: readOnly: false destructive: false idempotent: true call: hoverfly.setdestination outputParameters: - type: object mapping: $. - name: getmiddleware description: Get middleware hints: readOnly: true destructive: false idempotent: true call: hoverfly.getmiddleware outputParameters: - type: object mapping: $. - name: setmiddleware description: Update middleware hints: readOnly: false destructive: false idempotent: true call: hoverfly.setmiddleware outputParameters: - type: object mapping: $. - name: getmode description: Get mode hints: readOnly: true destructive: false idempotent: true call: hoverfly.getmode outputParameters: - type: object mapping: $. - name: setmode description: Set mode hints: readOnly: false destructive: false idempotent: true call: hoverfly.setmode outputParameters: - type: object mapping: $. - name: getversion description: Get version hints: readOnly: true destructive: false idempotent: true call: hoverfly.getversion outputParameters: - type: object mapping: $. - name: getusage description: Get usage metrics hints: readOnly: true destructive: false idempotent: true call: hoverfly.getusage outputParameters: - type: object mapping: $. - name: getupstreamproxy description: Get upstream proxy hints: readOnly: true destructive: false idempotent: true call: hoverfly.getupstreamproxy outputParameters: - type: object mapping: $. - name: getpac description: Get PAC file hints: readOnly: true destructive: false idempotent: true call: hoverfly.getpac outputParameters: - type: object mapping: $. - name: setpac description: Set PAC file hints: readOnly: false destructive: false idempotent: true call: hoverfly.setpac outputParameters: - type: object mapping: $. - name: deletepac description: Delete PAC file hints: readOnly: false destructive: true idempotent: true call: hoverfly.deletepac outputParameters: - type: object mapping: $. - name: listpostserveactions description: List post-serve actions hints: readOnly: true destructive: false idempotent: true call: hoverfly.listpostserveactions outputParameters: - type: object mapping: $. - name: upsertpostserveaction description: Create or update post-serve action hints: readOnly: false destructive: false idempotent: true call: hoverfly.upsertpostserveaction outputParameters: - type: object mapping: $. - name: deletepostserveaction description: Delete post-serve action hints: readOnly: false destructive: true idempotent: true call: hoverfly.deletepostserveaction with: actionName: tools.actionName inputParameters: - name: actionName type: string description: actionName required: true outputParameters: - type: object mapping: $. - name: getcache description: Get cache hints: readOnly: true destructive: false idempotent: true call: hoverfly.getcache outputParameters: - type: object mapping: $. - name: clearcache description: Clear cache hints: readOnly: false destructive: true idempotent: true call: hoverfly.clearcache outputParameters: - type: object mapping: $. - name: getlogs description: Get logs hints: readOnly: true destructive: false idempotent: true call: hoverfly.getlogs with: limit: tools.limit from: tools.from inputParameters: - name: limit type: integer description: limit - name: from type: integer description: from outputParameters: - type: object mapping: $. - name: getjournal description: Get journal hints: readOnly: true destructive: false idempotent: true call: hoverfly.getjournal with: limit: tools.limit offset: tools.offset from: tools.from to: tools.to sort: tools.sort inputParameters: - name: limit type: integer description: limit - name: offset type: integer description: offset - name: from type: integer description: from - name: to type: integer description: to - name: sort type: string description: sort outputParameters: - type: object mapping: $. - name: filterjournal description: Filter journal hints: readOnly: false destructive: false idempotent: false call: hoverfly.filterjournal outputParameters: - type: object mapping: $. - name: clearjournal description: Clear journal hints: readOnly: false destructive: true idempotent: true call: hoverfly.clearjournal outputParameters: - type: object mapping: $. - name: listjournalindexes description: List journal indexes hints: readOnly: true destructive: false idempotent: true call: hoverfly.listjournalindexes outputParameters: - type: object mapping: $. - name: createjournalindex description: Create journal index hints: readOnly: false destructive: false idempotent: false call: hoverfly.createjournalindex outputParameters: - type: object mapping: $. - name: deletejournalindex description: Delete journal index hints: readOnly: false destructive: true idempotent: true call: hoverfly.deletejournalindex with: indexName: tools.indexName inputParameters: - name: indexName type: string description: indexName required: true outputParameters: - type: object mapping: $. - name: getstate description: Get state hints: readOnly: true destructive: false idempotent: true call: hoverfly.getstate outputParameters: - type: object mapping: $. - name: replacestate description: Replace state hints: readOnly: false destructive: false idempotent: true call: hoverfly.replacestate outputParameters: - type: object mapping: $. - name: patchstate description: Patch state hints: readOnly: false destructive: false idempotent: false call: hoverfly.patchstate outputParameters: - type: object mapping: $. - name: clearstate description: Clear state hints: readOnly: false destructive: true idempotent: true call: hoverfly.clearstate outputParameters: - type: object mapping: $. - name: getdiff description: Get diff reports hints: readOnly: true destructive: false idempotent: true call: hoverfly.getdiff outputParameters: - type: object mapping: $. - name: filterdiff description: Filter diff reports hints: readOnly: false destructive: false idempotent: false call: hoverfly.filterdiff outputParameters: - type: object mapping: $. - name: cleardiff description: Clear diff reports hints: readOnly: false destructive: true idempotent: true call: hoverfly.cleardiff outputParameters: - type: object mapping: $. - name: listcsvdatasources description: List CSV data sources hints: readOnly: true destructive: false idempotent: true call: hoverfly.listcsvdatasources outputParameters: - type: object mapping: $. - name: upsertcsvdatasource description: Upsert CSV data source hints: readOnly: false destructive: false idempotent: true call: hoverfly.upsertcsvdatasource outputParameters: - type: object mapping: $. - name: deletecsvdatasource description: Delete CSV data source hints: readOnly: false destructive: true idempotent: true call: hoverfly.deletecsvdatasource with: dataSourceName: tools.dataSourceName inputParameters: - name: dataSourceName type: string description: dataSourceName required: true outputParameters: - type: object mapping: $. - name: shutdown description: Shut down Hoverfly hints: readOnly: false destructive: true idempotent: true call: hoverfly.shutdown outputParameters: - type: object mapping: $.