Skip to Content
veriom

Accept or dismiss the impact review's exclusion

Accept keeps the exclusion: an automatic false positive stays closed and a later scan can no longer reopen it. Dismiss returns the finding to architecture review, reopens it when the review had closed it, and stops later reviews from closing it automatically.

POST
/v1/workspaces/{workspace_id}/findings/{finding_id}/agent-decision

Accept keeps the exclusion: an automatic false positive stays closed and a later scan can no longer reopen it. Dismiss returns the finding to architecture review, reopens it when the review had closed it, and stops later reviews from closing it automatically.

Authorization

workspaceToken
headerAuthorizationBearer <vat_<opaque-token>>

Expiring, hashed workspace token with explicit scopes.

Path Parameters

workspace_id*Workspace Id
Formatuuid
finding_id*Finding Id
Formatuuid

Request Body

application/json
  1. body

A person's answer to the impact review's exclusion of a finding.

decision*Decision
Value in"accept""dismiss"
reason*Reason
Length3 <= length <= 2000

Response Body

Successful Response

application/json
  1. response
adjudicated_at*|null
adjudication_version?string|null
affected_entity_keys*array<string>
affected_relationship_keys*array<string>
agent_review_decision?|null
agent_reviewed_at?|null
agent_reviewed_by?|null
allowed_transitions*array<>

States a finding update may move this finding to now, in lifecycle order. Accepting risk is a separate exception workflow and never listed.

analyst_confirmed*Analyst Confirmed
architecture_confidence?Architecture Confidence

Deprecated for display: use conclusion_confidence. 0 whenever impact_conclusion is unknown, because there is no conclusion for a confidence to qualify.

Default"0"
architecture_disposition?Architecture Disposition
Default"pending"
Value in"pending""architecturally_relevant""not_architecturally_relevant""needs_review"
architecture_evidence_ids*array<string>
architecture_impact?Architecture Impact
Default"unknown"
Value in"critical""high""medium""low""none""unknown"
architecture_link*

Whether it touches an architectural object, which ones and why, from its stored impact review. linked follows a confirmed or rule-detected conclusion; possible names objects the review proposed without one; not_linked follows exclusion evidence; not_reviewed has no conclusion yet.

architecture_reason*string|null
audit_id*Audit Id
Formatuuid
auto_disposition?Auto Disposition
Defaultfalse
business_impact?|

The business impact a person set: urgent, high, moderate or low, from the customers, data and services it would affect. Null until someone sets it.

business_impact_assessment?|

Who set the business impact, when, their answers and their rationale.

classification?|

For findings the Security Architect published: affected objects and relationships, observed and expected condition, violated rule, evidence, consequences, contextual severity, proposed action and remediation outcome.

commit_sha*Commit Sha
component_identity?string|null
conclusion_confidence*|

Confidence in the impact conclusion, from 0 to 1, or null when impact_conclusion is unknown. For scanner findings it is the impact review model's own estimate for a conclusion the evidence gate accepted, and it is not calibrated.

confidence*Confidence
cvss_score?string|null
description*Description
evidence_revision?string|null
exception*|null
exception_transitions*array<>

States this finding may reach now only through a policy-exception request, which an independent Owner approves. Today that is accepting risk.

exploit*
finding_class*Finding Class

Which of the five result kinds this finding is: scanner_vulnerability, structural_finding, hypothesis, control_weakness or architectural_drift. It is orthogonal to impact_conclusion: a structural finding detected by rule reads rule_detected there, never confirmed.

Value in"scanner_vulnerability""structural_finding""hypothesis""control_weakness""architectural_drift"
finding_class_label*Finding Class Label

A plain label for finding_class, such as Structural finding.

finding_group*Finding Group

Which Findings group it belongs to: security (a scanner reported it, such as a vulnerable dependency) or architectural (the architecture analysis reported it: a structural finding, control weakness or investigation). It follows finding_class.

Value in"security""architectural"
fingerprint_algorithm_version?Fingerprint Algorithm Version
Default"finding-v1"
first_seen_at*First Seen At
Formatdate-time
hypothesis?Hypothesis
Defaultfalse
id*Id
Formatuuid
identity_fingerprint?string|null
impact_conclusion*Impact Conclusion

The architecture-impact conclusion the evidence allows: confirmed (the evidence-gated impact review accepted it, the same rule as the actionable filter), not_demonstrated (the gated review accepted exclusion evidence), rule_detected (a deterministic architecture rule matched; the impact review does not assess it) or unknown (no gated conclusion yet). Every view derives it from the same fields.

Value in"confirmed""not_demonstrated""unknown""rule_detected"
last_seen_at*Last Seen At
Formatdate-time
lifecycle_started_at*Lifecycle Started At
Formatdate-time
lifecycle_state?FindingLifecycleState
Default"new"
Value in"new""persistent""regressed""remediated""accepted_risk""false_positive""duplicate""not_applicable""environment_changed"
lifecycle_updated_at*Lifecycle Updated At
Formatdate-time
lifecycle_version?Lifecycle Version
Range1 <= value
Default1
locations*array<>
mappings*
owner_id*|null
pending_agent_decision*|

The impact review's decision on this finding that waits for a person: impact_exclusion (it excluded the open finding on evidence) or false_positive_automation (it closed the finding), or null.

proof_basis*Proof Basis

One sentence on what the proof grade means for this finding.

proof_grade?Proof Grade

How far the stored evidence goes: candidate (a rule matched), reachable (code evidence shows the affected code is used), observed (runtime or cloud evidence links to it) or verified (the evidence-gated impact review confirmed it).

Default"candidate"
Value in"candidate""reachable""observed""verified"
reachability*Reachability
recommendation*Recommendation
repository_id*|null
risk_severity*Risk Severity
risk_total*Risk Total
rule_id*Rule Id
scanner_severity*Scanner Severity
score_breakdown*array<>
severity_source?Severity Source
Default"risk"
Value in"cvss""risk"
sla_due_at*|null
source_family?Source Family
Default"scanner"
source_label*Source Label

A plain label for where the finding came from, such as Dependency vulnerability check. Show this to customers instead of tool.

source_tools?array<>
stable_fingerprint*Stable Fingerprint
state*FindingState
Value in"new""confirmed""in_remediation""fixed""false_positive""accepted_risk""reopened"
structural_contract?|null
structural_contract_version?string|null
structural_layer?string|null
structural_root_cause_id?|null
taxonomy_snapshot_id?|null
title*Title
tool*ToolDeprecated

The capability that observed the finding, such as dependency_vulnerability_check; Veriom's own sources keep their names (analysis, veriom-structural-engine).

tool_version*Tool Version
work_status?|

The team's work on it (the collaboration status) on list and attention reads, or null when nobody has worked on it. The Findings page shows it in one status chip with state and lifecycle_state.

Example Request
curl -X POST 'https://api.veriom.ai/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/findings/497f6eca-6276-4993-bfeb-53cbbbba6f08/agent-decision' \  -H 'Content-Type: application/json' \  -d '{  "decision": "accept",  "reason": "string"}'
Example Response
{  "adjudicated_at": "2019-08-24T14:15:22Z",  "adjudication_version": "string",  "affected_entity_keys": [    "string"  ],  "affected_relationship_keys": [    "string"  ],  "agent_review_decision": "accepted",  "agent_reviewed_at": "2019-08-24T14:15:22Z",  "agent_reviewed_by": "76072674-51df-4c71-9894-932eea0c192f",  "allowed_transitions": [    "new"  ],  "analyst_confirmed": true,  "architecture_confidence": "0",  "architecture_disposition": "pending",  "architecture_evidence_ids": [    "string"  ],  "architecture_impact": "critical",  "architecture_link": {    "object_count": 0,    "objects": [      {        "key": "string",        "kind": "string",        "kind_label": "string",        "name": "string"      }    ],    "reason": "string",    "state": "linked"  },  "architecture_reason": "string",  "audit_id": "78c04fa6-cfb4-46a0-9aa5-3681ba4f3897",  "auto_disposition": false,  "business_impact": "urgent",  "business_impact_assessment": {    "customers": "none",    "data": "none",    "level": "urgent",    "rationale": "string",    "services": "supporting",    "set_at": "2019-08-24T14:15:22Z",    "set_by": "6589116c-916e-493a-b3f3-dcb3ee346f00"  },  "classification": {},  "commit_sha": "string",  "component_identity": "string",  "conclusion_confidence": "string",  "confidence": "string",  "cvss_score": "string",  "description": "string",  "evidence_revision": "string",  "exception": {},  "exception_transitions": [    "new"  ],  "exploit": {},  "finding_class": "scanner_vulnerability",  "finding_class_label": "string",  "finding_group": "security",  "fingerprint_algorithm_version": "finding-v1",  "first_seen_at": "2019-08-24T14:15:22Z",  "hypothesis": false,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "identity_fingerprint": "string",  "impact_conclusion": "confirmed",  "last_seen_at": "2019-08-24T14:15:22Z",  "lifecycle_started_at": "2019-08-24T14:15:22Z",  "lifecycle_state": "new",  "lifecycle_updated_at": "2019-08-24T14:15:22Z",  "lifecycle_version": 1,  "locations": [    {}  ],  "mappings": {    "property1": [      "string"    ],    "property2": [      "string"    ]  },  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "pending_agent_decision": "impact_exclusion",  "proof_basis": "string",  "proof_grade": "candidate",  "reachability": "string",  "recommendation": "string",  "repository_id": "b349ae61-b973-4c6c-a5e0-89183ba99ff3",  "risk_severity": "string",  "risk_total": "string",  "rule_id": "string",  "scanner_severity": "string",  "score_breakdown": [    {}  ],  "severity_source": "cvss",  "sla_due_at": "2019-08-24T14:15:22Z",  "source_family": "scanner",  "source_label": "string",  "source_tools": [    {      "rule_id": "string",      "tool": "string",      "version": "string"    }  ],  "stable_fingerprint": "string",  "state": "new",  "structural_contract": {},  "structural_contract_version": "string",  "structural_layer": "string",  "structural_root_cause_id": "51d97e66-655e-47cc-b147-d97f2b4d419b",  "taxonomy_snapshot_id": "487bda72-1129-4a41-8441-bc24f9e8006b",  "title": "string",  "tool": "string",  "tool_version": "string",  "work_status": "open"}