Skip to main content

Vulnerabilities & Risk API

Everything in this section is available over the REST API. API Reference covers authentication and conventions; Vulnerabilities API and Alerts API carry full request/response examples; Swagger at https://<your-host>/api/docs is exhaustive.

export OFFLOAD_HOST="https://your-instance.example.com"
export OFFLOAD_API_KEY="osk_xxxxxxxxxxxxxxxxxxxx"

Send the key as X-API-Key; calls are scoped to the key's team.

Findings and occurrences

TaskEndpointNotes
Grouped vulnerabilities (Raw findings)GET /api/vulnerabilities/grouped?source=&status=&severity=&search=&sort_by=&sort_dir=&skip=&limit=One row per vulnerability with affected-asset count, open/total, SLA and top assets.
OccurrencesGET /api/vulnerabilities/occurrences?status=&severity=&priority=&asset_id=&limit=&skip= · GET …/occurrences/{occurrence_id}One row per vulnerability per asset (VPR, priority, SLA due).
Update / assign an occurrencePUT …/occurrences/{id}/status (open · triaged · in_progress · resolved · verified · closed · false_positive · accepted_risk) · PUT …/occurrences/{id}/assign · POST …/occurrences/bulk-status · POST …/occurrences/bulk-assign
Unified findingsGET /api/vulnerabilities/findings · GET …/findings/{fingerprint} · POST …/findings/{fingerprint}/triageThe fingerprinted lake records the Triage Engine scores.
Per-asset viewGET /api/vulnerabilities/assets/{asset_id}Every vulnerability on one asset.
Catalog and statsGET /api/vulnerabilities/catalog · GET /api/vulnerabilities/statsDashboard numbers.
SyncPOST /api/vulnerabilities/sync?force_resync= · GET …/sync/statusPull the latest from every module (Sync All Sources).
JiraGET /api/vulnerabilities/jira/ticket-candidates · POST …/jira/create-ticketsRequires a Jira integration.

Triage

TaskEndpointNotes
ScorePOST /api/triage/scoreRuns the Triage Engine over open findings (also daily). Needs Manage Triage.
SummaryGET /api/triage/summaryWork items and findings by priority, action-now count, confidence, triage state.
Work itemsGET /api/triage/work-items?priority=P1,P2&module=&severity=&status=&category=&scope_key=&kev=&internet_exposed=&environment=&min_age_days=&untriaged=&confidence=priority=P1,P2 is the Action queue.
Findings queueGET /api/triage/queueSame filters, one row per finding.
Bulk decisionPOST /api/triage/bulk{ check_id / title, decision: confirm_tp | mark_fp | accept_risk | suppress | investigate | resolve | assign, scope_key?, fingerprints?, reason, expires_at, assignee, preview }preview: true returns counts without writing.
Single findingPOST /api/triage/finding/{fingerprint}/decision · GET …/remediation · POST …/explain · POST / GET …/comment(s) · POST / GET …/evidenceRemediation is the curated recipe / fixed version / scanner guidance.
Exceptions and changesGET /api/triage/exceptions?include_inactive= · GET /api/triage/changes?hours=24Sticky work-item exceptions; what changed recently.

SLA

TaskEndpointNotes
PoliciesGET · POST /api/sla/policies · GET · PUT · DELETE /api/sla/policies/{policy_id} · POST /api/sla/policies/defaultsBody: name, description, conditions {severity_min, severity_max, environments[], criticalities[]}, response_hours, resolution_days, priority, default_owner, escalation_rules[].
BreachesGET /api/sla/breaches · POST /api/sla/check-breachesThe Breach Dashboard; run enforcement now (otherwise every 15 min).

Alerts

TaskEndpointNotes
List / summaryGET /api/alerts?severity=&source=&category=&status=&open_only=&search=&limit=&skip= · GET /api/alerts/summary
One alertGET /api/alerts/{alert_id}Includes the audit trail.
ActPOST /api/alerts/{id}/acknowledge · PUT /api/alerts/{id}/assign · PUT /api/alerts/{id}/status (new · acknowledged · investigating · escalated · resolved · false_positive · closed) · POST /api/alerts/{id}/comment
BulkPOST /api/alerts/acknowledge-all · POST /api/alerts/bulk-actionFilter-scoped.

Risks

TaskEndpointNotes
RegisterGET · POST /api/risk-management/risks · GET · PUT · DELETE …/risks/{risk_id} · GET …/risks/summary · GET …/risks/{id}/history · …/linkages · …/velocity · POST …/risks/bulk · POST …/risks/merge-duplicatesBusiness risk: likelihood 1–5 × impact 1–5; system risk: initial_magnitude / current_magnitude 0–100.
Import from findingsGET /api/risk-management/auto-import/preview?finding_type=all|vulnerability|cspm_finding&severity_threshold=critical|high|medium · POST …/auto-import/scan-findingsAlready-linked findings are skipped.
Treatment plansGET · POST …/treatment-plans · GET · PUT …/treatment-plans/{id} · actions POST …/{id}/actions · PUT …/{id}/actions/{action_id} · POST …/{id}/submit · /approve · /rejectStrategies mitigate · accept · transfer · avoid · share.
ApprovalsGET …/workflows/pending · POST …/workflows/{workflow_id}/approve
ControlsGET · POST …/controls · POST …/controls/{control_id}/testsTest: tester, test_type (design / operating / both), sample_size, exceptions_found, result.
Heat map & analyticsGET …/heat-map · GET …/dashboard · GET …/analytics/inherent-vs-residual · …/risk-trend · …/appetite-overlay
AppetiteGET · POST …/appetite · POST …/appetite/checkStatement with overall_appetite, overall_tolerance_score, category_appetites[], thresholds[].
KRIsGET · POST …/kris · POST …/kris/{kri_id}/measurements · GET …/kris/dashboardThresholds green_max / amber_max / red_max (/ critical_max), direction.
ScenariosGET · POST …/scenariosrisk_id, scenario_type, likelihood_adjustment, impact_adjustment, parameters[].
ReportsGET …/reports/executive-summary · GET …/reports/executive-pdf-data · GET …/reports/export
AI assistantPOST /api/risk-management/ai/{endpoint}Auto-fill, KRI recommendations, scenario generation.

Permissions

ActionPermission key
Read vulnerabilities, occurrences, SLA policies and breachesvulnerability_view
Update occurrence status / assignment, sync, Jira tickets, SLA policiesvulnerability_management
Read the triage queue and summaryview_triage
Score, record triage decisions, manage exceptionsmanage_triage
Read alertsview_alerts
Acknowledge, assign, comment · bulk actions and status changesacknowledge_alerts · manage_alerts
Read risks, heat map, appetite, KRIs, scenarios, reportsview_risks
Create risks and import from findings · edit, treat, control, measure · approve and deletecreate_risks · edit_risks · manage_risks

Team roles bundle these — see RBAC & team management, Authentication for key scopes and Conventions for pagination, error shapes and rate limits.