Vulnerability management — scanners, feeds, matches, results, and AI-assisted remediation. Auto-generated from the platform OpenAPI schema so it matches the running API.
REST API for this feature — 64 operations across 48 resource paths, auto-generated from the platform's live OpenAPI schema (drf-spectacular).
Base URL
https://<your-versus-host>/api· AuthAuthorization: Bearer <JWT>(fromPOST /api/auth/token/) · 📄 Download the OpenAPI spec for Postman/Insomnia/Swagger · see the API overview for pagination, filtering, and errors.
GET /api/feed-sync-runs/List feed sync runs
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
feed | query | no | integer | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
status | query | no | string | * running - Running |
Responses: 200 → PaginatedFeedSyncRunList
GET /api/feed-sync-runs/{id}/Retrieve feed sync run
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this feed sync run. |
Responses: 200 → FeedSyncRun
GET /api/scanner/assets/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedScannerAssetList
GET /api/scanner/assets/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner asset. |
Responses: 200 → ScannerAsset
GET /api/scanner/connections/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
enabled | query | no | boolean | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
provider_kind | query | no | string | * rapid7_v4 - Rapid7 InsightVM Cloud (API v4) |
search | query | no | string | A search term. |
Responses: 200 → PaginatedScannerConnectionList
POST /api/scanner/connections/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): ScannerConnectionRequest
Responses: 201 → ScannerConnection
GET /api/scanner/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Responses: 200 → ScannerConnection
PUT /api/scanner/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Request body (application/json): ScannerConnectionRequest
Responses: 200 → ScannerConnection
PATCH /api/scanner/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Request body (application/json): PatchedScannerConnectionRequest
Responses: 200 → ScannerConnection
DELETE /api/scanner/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Responses: 204
POST /api/scanner/connections/{id}/assess_ips/POST {ips: ['10.0.0.1', ...]} — run a risk assessment against this connection.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Request body (application/json): ScannerConnectionRequest
Responses: 200 → ScannerConnection
GET /api/scanner/connections/{id}/summary/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Responses: 200 → ScannerConnection
POST /api/scanner/connections/{id}/sync_now/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Request body (application/json): ScannerConnectionRequest
Responses: 200 → ScannerConnection
POST /api/scanner/connections/{id}/test_connection/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner connection. |
Request body (application/json): ScannerConnectionRequest
Responses: 200 → ScannerConnection
GET /api/scanner/findings/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedScannerFindingList
GET /api/scanner/findings/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scanner finding. |
Responses: 200 → ScannerFinding
GET /api/scanner/risk-assessments/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
connection | query | no | integer | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
subject | query | no | string | * access_request - Firewall Access Request |
verdict | query | no | string | * pass - Pass — no findings above threshold |
Responses: 200 → PaginatedRiskAssessmentList
GET /api/scanner/risk-assessments/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this risk assessment. |
Responses: 200 → RiskAssessment
GET /api/scanner/risk-assessments/{id}/report/Return the rendered HTML report for download/display.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this risk assessment. |
Responses: 200 → RiskAssessment
GET /api/scanner/scan-jobs/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
connection | query | no | integer | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
state | query | no | string | * queued - Queued |
Responses: 200 → PaginatedScanJobList
GET /api/scanner/scan-jobs/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scan job. |
Responses: 200 → ScanJob
POST /api/scanner/scan-jobs/{id}/poll/Poll the scanner for the current status of an active scan job.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this scan job. |
Request body (application/json): ScanJobRequest
Responses: 200 → ScanJob
GET /api/vuln-ai-analyses/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
cve_id | query | no | string | |
invocation | query | no | integer | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
Responses: 200 → PaginatedVulnAIAnalysisList
GET /api/vuln-ai-analyses/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln ai analysis. |
Responses: 200 → VulnAIAnalysis
GET /api/vuln-feeds/CRUD + on-demand fetch for vulnerability feed sources.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedVulnFeedSourceList
POST /api/vuln-feeds/CRUD + on-demand fetch for vulnerability feed sources.
Request body (application/json): VulnFeedSourceRequest
Responses: 201 → VulnFeedSource
GET /api/vuln-feeds/{id}/CRUD + on-demand fetch for vulnerability feed sources.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln feed source. |
Responses: 200 → VulnFeedSource
PUT /api/vuln-feeds/{id}/CRUD + on-demand fetch for vulnerability feed sources.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln feed source. |
Request body (application/json): VulnFeedSourceRequest
Responses: 200 → VulnFeedSource
PATCH /api/vuln-feeds/{id}/CRUD + on-demand fetch for vulnerability feed sources.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln feed source. |
Request body (application/json): PatchedVulnFeedSourceRequest
Responses: 200 → VulnFeedSource
DELETE /api/vuln-feeds/{id}/CRUD + on-demand fetch for vulnerability feed sources.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln feed source. |
Responses: 204
POST /api/vuln-feeds/{id}/fetch/Trigger a background fetch for this specific feed source.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln feed source. |
Request body (application/json): VulnFeedSourceRequest
Responses: 200 → VulnFeedSource
GET /api/vuln-feeds/{id}/sync_runs/Last 20 FeedSyncRun rows for this feed.
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vuln feed source. |
Responses: 200 → VulnFeedSource
GET /api/vuln-invocations/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
status | query | no | string | * running - Running |
trigger | query | no | string | * feed_sync - Feed Sync |
workflow_name | query | no | string |
Responses: 200 → PaginatedWorkflowInvocationListList
POST /api/vuln-invocations/manual_invoke/Assemble a batch from supplied CVE IDs and trigger
Request body (application/json): WorkflowInvocationListRequest
Responses: 200 → WorkflowInvocationList
GET /api/vuln-invocations/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this workflow invocation. |
Responses: 200 → WorkflowInvocationDetail
POST /api/vuln-invocations/{id}/cancel/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this workflow invocation. |
Request body (application/json): WorkflowInvocationListRequest
Responses: 200 → WorkflowInvocationList
GET /api/vuln-matches/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
device | query | no | integer | |
in_range | query | no | boolean | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
status | query | no | string | * active - Active |
vendor_type | query | no | string | |
vulnerability | query | no | integer |
Responses: 200 → PaginatedVulnerabilityMatchList
GET /api/vuln-matches/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability match. |
Responses: 200 → VulnerabilityMatch
POST /api/vuln-matches/{id}/mark_not_applicable/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability match. |
Request body (application/json): VulnerabilityMatchRequest
Responses: 200 → VulnerabilityMatch
POST /api/vuln-matches/{id}/suppress/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability match. |
Request body (application/json): VulnerabilityMatchRequest
Responses: 200 → VulnerabilityMatch
GET /api/vuln-remediation-runs/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
cve_id | query | no | string | |
invocation | query | no | integer | |
mode | query | no | string | * script - AI Script |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
state | query | no | string | * awaiting_approval - Awaiting Approval |
vendor_type | query | no | string |
Responses: 200 → PaginatedRemediationRunList
GET /api/vuln-remediation-runs/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this remediation run. |
Responses: 200 → RemediationRun
POST /api/vuln-remediation-runs/{id}/cancel/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this remediation run. |
Request body (application/json): RemediationRunRequest
Responses: 200 → RemediationRun
GET /api/vuln-results/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
device | query | no | integer | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
status | query | no | string | * potentially_affected - Potentially Affected |
vulnerability | query | no | integer | |
vulnerability__in_kev | query | no | boolean | |
vulnerability__severity | query | no | string | * critical - Critical |
Responses: 200 → PaginatedDeviceVulnerabilityResultList
POST /api/vuln-results/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): DeviceVulnerabilityResultRequest
Responses: 201 → DeviceVulnerabilityResult
GET /api/vuln-results/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this device vulnerability result. |
Responses: 200 → DeviceVulnerabilityResult
PUT /api/vuln-results/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this device vulnerability result. |
Request body (application/json): DeviceVulnerabilityResultRequest
Responses: 200 → DeviceVulnerabilityResult
PATCH /api/vuln-results/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this device vulnerability result. |
Request body (application/json): PatchedDeviceVulnerabilityResultRequest
Responses: 200 → DeviceVulnerabilityResult
DELETE /api/vuln-results/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this device vulnerability result. |
Responses: 204
POST /api/vuln-results/{id}/mark_not_affected/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this device vulnerability result. |
Request body (application/json): DeviceVulnerabilityResultRequest
Responses: 200 → DeviceVulnerabilityResult
POST /api/vuln-results/{id}/mark_patched/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this device vulnerability result. |
Request body (application/json): DeviceVulnerabilityResultRequest
Responses: 200 → DeviceVulnerabilityResult
GET /api/vulnerabilities/List vulnerabilitys
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
in_kev | query | no | boolean | |
kev_ransomware | query | no | boolean | |
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
severity | query | no | string | * critical - Critical |
source | query | no | string | * nvd - NVD |
Responses: 200 → PaginatedVulnerabilityListList
POST /api/vulnerabilities/Create vulnerability
Request body (application/json): VulnerabilityRequest
Responses: 201 → Vulnerability
GET /api/vulnerabilities/built_in_feeds/List built in feeds
Responses: 200 → Vulnerability
POST /api/vulnerabilities/ingest_feeds/Phase 0+ ingestion path: sync feeds via the new pipeline,
Request body (application/json): VulnerabilityRequest
Responses: 200 → Vulnerability
POST /api/vulnerabilities/scan_devices/Create scan device
Request body (application/json): VulnerabilityRequest
Responses: 200 → Vulnerability
GET /api/vulnerabilities/summary/List summarys
Responses: 200 → Vulnerability
POST /api/vulnerabilities/sync_feeds/Trigger a full feed sync in the background (legacy path).
Request body (application/json): VulnerabilityRequest
Responses: 200 → Vulnerability
GET /api/vulnerabilities/sync_logs/List sync logs
Responses: 200 → Vulnerability
POST /api/vulnerabilities/toggle_built_in_feed/Create toggle built in feed
Request body (application/json): VulnerabilityRequest
Responses: 200 → Vulnerability
GET /api/vulnerabilities/{id}/Retrieve vulnerability
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability. |
Responses: 200 → Vulnerability
PUT /api/vulnerabilities/{id}/Update vulnerability
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability. |
Request body (application/json): VulnerabilityRequest
Responses: 200 → Vulnerability
PATCH /api/vulnerabilities/{id}/Update vulnerability
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability. |
Request body (application/json): PatchedVulnerabilityRequest
Responses: 200 → Vulnerability
DELETE /api/vulnerabilities/{id}/Delete vulnerability
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vulnerability. |
Responses: 204
Auto-generated from drf-spectacular OpenAPI. Endpoint descriptions come from viewset docstrings/serializers; enriching those improves this page on the next generation.