Request remediation
POST
workspaceTokenheader
AuthorizationBearer <vat_<opaque-token>>Expiring, hashed workspace token with explicit scopes.
workspace_id*Workspace IdFormat
uuidIdempotency-Key*Idempotency-Keyapplication/json- body
finding_id*Finding IdFormat
uuidpatch?|nullSuccessful Response
application/json- response
approved_by*|nullautomatic_approval?|Present when workspace policy, not a reviewer, approved publication.
baseline_audit_id*|nullbaseline_snapshot*|nullbranch_name*string|nullcreated_at*Created AtFormat
date-timedecision?|nulldecision_id?|nullexpected_outcomes*array<>explanation*string|nullfailure_code?string|nullfailure_message?string|nullfinding_check?|The finding's own rule re-run on the patched source before a pull request. Null for patches prepared before the check and for remediations with no patch.
finding_id*Finding IdFormat
uuidfinding_title?string|nullhuman_scope_required?Human Scope RequiredDefault
falseid*IdFormat
uuidoutcome?|Structural findings only: automatable (a validated patch), partially_automatable (a patch or steps plus open decisions) or design_decision (a decision record, never a patch).
patch_sha256*string|nullpull_request_url*string|nullrecovery_action?|nullremediation_tier?|nullrepository_id?|nullrequested_by*Requested ByFormat
uuidstages?array<>static_rescan*|nullstatus*Statusstructural_contract_test_path?string|nullstructural_plan?|nullverification_audit_id*|nullverification_result*|nullverified_at*|nullcurl -X POST 'https://api.veriom.ai/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/remediations' \ -H 'Idempotency-Key: string' \ -H 'Content-Type: application/json' \ -d '{ "finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe"}'Example Response
{ "approved_by": "02030314-b162-4b4d-8af1-88eabdcc615d", "automatic_approval": { "approved_at": "2019-08-24T14:15:22Z", "policy_version": 0, "publish_after": "2019-08-24T14:15:22Z", "rule": "string", "withdrawable": true }, "baseline_audit_id": "91f541b0-c250-4fc0-aa24-0dc7afcd1d4e", "baseline_snapshot": { "audit_id": "78c04fa6-cfb4-46a0-9aa5-3681ba4f3897", "evidence_ids": [ "973ab5a6-b373-447d-ab9d-bdb660b35afc" ], "finding_fingerprint": "string", "high_or_critical_fingerprints": [ "string" ], "recorded_at": "2019-08-24T14:15:22Z", "relevant_scanners": [ "string" ], "risk_severity": "string", "risk_total": "string" }, "branch_name": "string", "created_at": "2019-08-24T14:15:22Z", "decision": { "approved_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "implemented_at": "2019-08-24T14:15:22Z", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "selected_option_id": "string", "status": "string", "title": "string", "verified_at": "2019-08-24T14:15:22Z" }, "decision_id": "35405636-5581-4a10-b063-a74afe2ca763", "expected_outcomes": [ {} ], "explanation": "string", "failure_code": "string", "failure_message": "string", "finding_check": { "after_lines": [ 0 ], "after_match_count": 0, "before_proof": "audit", "check": "string", "check_label": "string", "checked_at": "2019-08-24T14:15:22Z", "detail": "string", "fired_after": true, "fired_before": true, "review_required": false, "rule_id": "string", "unavailable_reason": "runner_unavailable", "verdict": "pending" }, "finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe", "finding_title": "string", "human_scope_required": false, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "outcome": "automatable", "patch_sha256": "string", "pull_request_url": "string", "recovery_action": "retry_generation", "remediation_tier": "R1", "repository_id": "b349ae61-b973-4c6c-a5e0-89183ba99ff3", "requested_by": "cda0f200-65cd-4343-aedd-9c936b908826", "stages": [ { "at": "2019-08-24T14:15:22Z", "detail": "string", "key": "patch_validated", "state": "pending" } ], "static_rescan": {}, "status": "string", "structural_contract_test_path": "string", "structural_plan": { "affected_objects": [ { "category": "string", "evidence_ids": [ "973ab5a6-b373-447d-ab9d-bdb660b35afc" ], "key": "string", "kind": "entity", "name": "string", "role": "affected", "zone": "string" } ], "change_kind": "identity_policy", "changes": [ { "change": "string", "object_key": "string" } ], "consequence": "string", "decision_record": { "alternatives": [ { "benefits": [ "string" ], "description": "string", "id": "string", "title": "string", "tradeoffs": [ "string" ] }, { "benefits": [ "string" ], "description": "string", "id": "string", "title": "string", "tradeoffs": [ "string" ] } ], "consequences": [ "string" ], "context": "string", "question": "string", "recommendation_reason": "string", "recommended_alternative_id": "string", "success_criteria": [ "string" ], "title": "string" }, "effect_checks": [ { "blocks_automation": false, "detail": "string", "id": "string", "object_keys": [ "string" ], "question": "string", "status": "clear" } ], "evidence_ids": [ "973ab5a6-b373-447d-ab9d-bdb660b35afc" ], "expected_condition": "string", "finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe", "invariant_id": "string", "invariant_version": "string", "ledgers": [ "code" ], "ledgers_missing": [ "code" ], "observed_condition": "string", "open_decisions": [ { "id": "string", "question": "string", "reason": "string" } ], "outcome": "automatable", "outcome_reasons": [ "string" ], "patch_targets": [ { "evidence_id": "5360afe2-6320-4611-b2b1-06edeee7fc1e", "ledger": "code", "path": "string", "source": "evidence", "subject_key": "string", "summary": "string" } ], "policy_checks": [ { "description": "string", "enforced_by": "path_guardrail", "id": "string" } ], "root_cause": { "recurrence_scope": 0, "ref": "d0fad5d6-e996-4437-8fb9-5f40bbcfd7cc", "statement": "string" }, "schema_version": "structural-remediation-plan-v1", "title": "string", "verification_predicate": "string", "violated_rule": "string" }, "verification_audit_id": "cef6c8ad-7eed-4189-9f94-26d2342cdd25", "verification_result": { "baseline_audit_id": "91f541b0-c250-4fc0-aa24-0dc7afcd1d4e", "baseline_risk": "string", "evidence_ids": [ "973ab5a6-b373-447d-ab9d-bdb660b35afc" ], "new_high_or_critical_fingerprints": [ "string" ], "observed_at": "2019-08-24T14:15:22Z", "observed_audit_id": "31138278-f48f-4540-9df9-76511583a7a6", "original_finding_present": true, "outcome": "verified", "reasons": [ "string" ], "residual_risk": "string", "risk_delta": "string", "scanner_status": { "property1": "string", "property2": "string" }, "structural_invariant_id": "string", "structural_invariant_status": "string", "structural_invariant_version": "string" }, "verified_at": "2019-08-24T14:15:22Z"}