Close a finding (mark fixed or dismiss as not an issue)
Closes a finding from CI/CD or an agent: mark it ‘fixed’ or dismiss it as not an issue (‘dismissed’). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.
Headers
Bearer token with API key
Path Parameters
Body
Request body to close a finding via the external API.
Deliberately stricter than the dashboard's
:class:FindingStatusUpdateRequest: a category and an explanation
are mandatory for every close, so an API-driven close is always
well-formed and carries the rationale we record as the fix
(fixed) or feed back to the attacker (dismissed).
statusis limited to the two close actions.explanationis always required (non-empty after trimming). It maps tofix_descriptionwhenfixedand todismissed_reason_textwhendismissed.reason_codeis the dismissal category, typed as the :data:DismissalReasonCodeliteral so the allowed values are published in the schema and membership is enforced automatically. It is required whenstatusisdismissedand unused otherwise.
Close action: 'fixed' (resolved) or 'dismissed' (not an issue).
fixed, dismissed Why the finding is being closed. Required for every close: recorded as the fix description when 'fixed' and as the dismissal rationale when 'dismissed'. Maximum 2 000 characters.
1 - 2000Dismissal category. Required when status is 'dismissed'; ignored otherwise. Allowed values: data_is_public, authenticated_users_only, working_as_designed, mitigated_elsewhere, accepted_risk, false_positive, other.
data_is_public, authenticated_users_only, working_as_designed, mitigated_elsewhere, accepted_risk, false_positive, other Response
Successful Response
One finding in the external API response.
severity is typed as the canonical FindingSeverity enum so
OpenAPI publishes the allowed values and JSON output is always
lowercase. attacks carries the per-probe replay artefacts; the
finding row carries only the technique-level narrative shared
across every attack under it.
Taxonomy partition a Finding (or test suite) is scoped to.
Each lens is a top-level taxonomy bucket prefix. security and
safety are the v1 lenses; quality and policy are
reserved for future expansion. The lens drives:
- Discriminator on the persisted
Finding(security vs safety subtypes). - Security-scope enforcement at ingest (security-lens runs may
only emit
security.*categories). - Per-lens system prompts at the generator and retest layers.
security, safety, quality, policy Business-impact severity levels, ordered from most to least severe.
critical, high, medium, low