Druva · OpenAPI Overlay 1.0.0
API Evangelist overlay for Druva cyber-resilience-govcloud
40 actions
40 updates
documentation
extends
druva-cyber-resilience-govcloud-openapi.json
Derived by API Evangelist
Built from the contracts Druva publishes. Druva did not publish this file.
What the actions change
operationId
Targets 40 · first 16 shown; the file carries all of them
$.paths['/ransomwarerecovery/v1/search/resource'].get
$.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}'].post
$.paths['/ransomwarerecovery/v1/quarantineranges'].get
$.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}'].get
$.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}'].put
$.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}'].delete
$.paths['/ransomwarerecovery/v1/snapshots/resource/{resourceID}/range/{rangeID}'].get
$.paths['/ransomwarerecovery/v1/snapshots/resource/{resourceID}/range/{rangeID}/snapshot/{snapshotID}'].delete
$.paths['/ransomwarerecovery/v2/quarantineranges'].get
$.paths['/ransomwarerecovery/v2/quarantineranges/resource/{resourceID}'].post
$.paths['/ransomwarerecovery/v2/quarantineranges/resource/{resourceID}'].put
$.paths['/ransomwarerecovery/v2/quarantineranges/resource/{resourceID}'].get
$.paths['/ransomwarerecovery/v2/snapshots/resource/{resourceID}'].get
$.paths['/uda/v1/stats/{workload}/resources/{resourceID}'].get
$.paths['/rwc/v1/settings'].get
$.paths['/rwc/v1/settings'].put
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist overlay for Druva cyber-resilience-govcloud
version: 1.0.0
extends: druva-cyber-resilience-govcloud-openapi.json
x-generated: '2026-09-06'
x-method: generated
x-source: Generated by API Evangelist from the verbatim Druva specification it extends. Every action supplies
an operationId that the published document omits; the value is derived deterministically from the HTTP
method and path template. Nothing else about the contract is changed, and the original in openapi/_original/
is not mutated.
actions:
- target: $.paths['/ransomwarerecovery/v1/search/resource'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v1/search/resource
update:
operationId: getRansomwarerecoveryV1SearchResource
- target: $.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}'].post
description: Supply a missing operationId for POST /ransomwarerecovery/v1/quarantineranges/resource/{resourceID}
update:
operationId: postRansomwarerecoveryV1QuarantinerangesResourceByResourceid
- target: $.paths['/ransomwarerecovery/v1/quarantineranges'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v1/quarantineranges
update:
operationId: getRansomwarerecoveryV1Quarantineranges
- target: $.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}
update:
operationId: getRansomwarerecoveryV1QuarantinerangesResourceByResourceidRangeByRangeid
- target: $.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}'].put
description: Supply a missing operationId for PUT /ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}
update:
operationId: putRansomwarerecoveryV1QuarantinerangesResourceByResourceidRangeByRangeid
- target: $.paths['/ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}'].delete
description: Supply a missing operationId for DELETE /ransomwarerecovery/v1/quarantineranges/resource/{resourceID}/range/{rangeID}
update:
operationId: deleteRansomwarerecoveryV1QuarantinerangesResourceByResourceidRangeByRangeid
- target: $.paths['/ransomwarerecovery/v1/snapshots/resource/{resourceID}/range/{rangeID}'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v1/snapshots/resource/{resourceID}/range/{rangeID}
update:
operationId: getRansomwarerecoveryV1SnapshotsResourceByResourceidRangeByRangeid
- target: $.paths['/ransomwarerecovery/v1/snapshots/resource/{resourceID}/range/{rangeID}/snapshot/{snapshotID}'].delete
description: Supply a missing operationId for DELETE /ransomwarerecovery/v1/snapshots/resource/{resourceID}/range/{rangeID}/snapshot/{snapshotID}
update:
operationId: deleteRansomwarerecoveryV1SnapshotsResourceByResourceidRangeByRangeidSnapshotBySnapshotid
- target: $.paths['/ransomwarerecovery/v2/quarantineranges'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v2/quarantineranges
update:
operationId: getRansomwarerecoveryV2Quarantineranges
- target: $.paths['/ransomwarerecovery/v2/quarantineranges/resource/{resourceID}'].post
description: Supply a missing operationId for POST /ransomwarerecovery/v2/quarantineranges/resource/{resourceID}
update:
operationId: postRansomwarerecoveryV2QuarantinerangesResourceByResourceid
- target: $.paths['/ransomwarerecovery/v2/quarantineranges/resource/{resourceID}'].put
description: Supply a missing operationId for PUT /ransomwarerecovery/v2/quarantineranges/resource/{resourceID}
update:
operationId: putRansomwarerecoveryV2QuarantinerangesResourceByResourceid
- target: $.paths['/ransomwarerecovery/v2/quarantineranges/resource/{resourceID}'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v2/quarantineranges/resource/{resourceID}
update:
operationId: getRansomwarerecoveryV2QuarantinerangesResourceByResourceid
- target: $.paths['/ransomwarerecovery/v2/snapshots/resource/{resourceID}'].get
description: Supply a missing operationId for GET /ransomwarerecovery/v2/snapshots/resource/{resourceID}
update:
operationId: getRansomwarerecoveryV2SnapshotsResourceByResourceid
- target: $.paths['/uda/v1/stats/{workload}/resources/{resourceID}'].get
description: Supply a missing operationId for GET /uda/v1/stats/{workload}/resources/{resourceID}
update:
operationId: getUdaV1StatsByWorkloadResourcesByResourceid
- target: $.paths['/rwc/v1/settings'].get
description: Supply a missing operationId for GET /rwc/v1/settings
update:
operationId: getRwcV1Settings
- target: $.paths['/rwc/v1/settings'].put
description: Supply a missing operationId for PUT /rwc/v1/settings
update:
operationId: putRwcV1Settings
- target: $.paths['/rwcscanmaster/v1/jobs'].get
description: Supply a missing operationId for GET /rwcscanmaster/v1/jobs
update:
operationId: getRwcscanmasterV1Jobs
- target: $.paths['/rwcscanmaster/v1/jobs/{JobID}'].get
description: Supply a missing operationId for GET /rwcscanmaster/v1/jobs/{JobID}
update:
operationId: getRwcscanmasterV1JobsByJobid
- target: $.paths['/rwcscanmaster/v1/jobs/{JobID}/report'].get
description: Supply a missing operationId for GET /rwcscanmaster/v1/jobs/{JobID}/report
update:
operationId: getRwcscanmasterV1JobsByJobidReport
- target: $.paths['/rwcscanmaster/v1/jobs/count'].get
description: Supply a missing operationId for GET /rwcscanmaster/v1/jobs/count
update:
operationId: getRwcscanmasterV1JobsCount
- target: $.paths['/curatedsnapshot/v1/jobs'].post
description: Supply a missing operationId for POST /curatedsnapshot/v1/jobs
update:
operationId: postCuratedsnapshotV1Jobs
- target: $.paths['/curatedsnapshot/v1/jobs'].get
description: Supply a missing operationId for GET /curatedsnapshot/v1/jobs
update:
operationId: getCuratedsnapshotV1Jobs
- target: $.paths['/curatedsnapshot/v1/jobs/{jobID}'].get
description: Supply a missing operationId for GET /curatedsnapshot/v1/jobs/{jobID}
update:
operationId: getCuratedsnapshotV1JobsByJobid
- target: $.paths['/curatedsnapshot/v1/jobs/cancel'].put
description: Supply a missing operationId for PUT /curatedsnapshot/v1/jobs/cancel
update:
operationId: putCuratedsnapshotV1JobsCancel
- target: $.paths['/curatedsnapshot/v1/jobs/{JobID}/report'].get
description: Supply a missing operationId for GET /curatedsnapshot/v1/jobs/{JobID}/report
update:
operationId: getCuratedsnapshotV1JobsByJobidReport
- target: $.paths['/curatedsnapshot/v1/snapshots'].get
description: Supply a missing operationId for GET /curatedsnapshot/v1/snapshots
update:
operationId: getCuratedsnapshotV1Snapshots
- target: $.paths['/curatedsnapshot/v1/snapshots'].delete
description: Supply a missing operationId for DELETE /curatedsnapshot/v1/snapshots
update:
operationId: deleteCuratedsnapshotV1Snapshots
- target: $.paths['/threathunting/v1/search/backupset'].post
description: Supply a missing operationId for POST /threathunting/v1/search/backupset
update:
operationId: postThreathuntingV1SearchBackupset
- target: $.paths['/threathunting/v1/threathunts'].post
description: Supply a missing operationId for POST /threathunting/v1/threathunts
update:
operationId: postThreathuntingV1Threathunts
- target: $.paths['/threathunting/v1/threathunts'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts
update:
operationId: getThreathuntingV1Threathunts
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/cancel'].put
description: Supply a missing operationId for PUT /threathunting/v1/threathunts/{threatHuntID}/cancel
update:
operationId: putThreathuntingV1ThreathuntsByThreathuntidCancel
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}'].delete
description: Supply a missing operationId for DELETE /threathunting/v1/threathunts/{threatHuntID}
update:
operationId: deleteThreathuntingV1ThreathuntsByThreathuntid
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntid
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/summary'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/summary
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidSummary
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/devices'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/devices
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidDevices
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/devices/stats'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/devices/stats
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidDevicesStats
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/devices/{deviceID}'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/devices/{deviceID}
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidDevicesByDeviceid
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/devices/{deviceID}/stats'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/devices/{deviceID}/stats
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidDevicesByDeviceidStats
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/devices/{deviceID}/snapshots'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/devices/{deviceID}/snapshots
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidDevicesByDeviceidSnapshots
- target: $.paths['/threathunting/v1/threathunts/{threatHuntID}/report'].get
description: Supply a missing operationId for GET /threathunting/v1/threathunts/{threatHuntID}/report
update:
operationId: getThreathuntingV1ThreathuntsByThreathuntidReport
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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 overlay
curl "https://apis.io/api/v1/overlays/druva-cyber-resilience-govcloud-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.