Skip to main content
POST
Bulk-reopen findings by component/path scope

Authorizations

Authorization
string
header
required

An Earnie API key, sent as Authorization: Bearer sk_earnie_.... Create one under Settings > API keys. The key's scopes decide which operations it may call.

Body

application/json

Request body for bulk-reopening findings by component and/or path scope — the symmetric undo of bulk-resolve. All matching findings in a reopenable state (resolved, superseded_by_rule, assigned) are reopened in a single transaction. The operation is all-or-nothing: a failure on any finding rolls back all reopens. Already-open findings in scope are skipped idempotently. Reopen has no reason or replacement concept. When finding_ids is present it is the authoritative finding scope; purl and path_prefix are ignored, while organization, project, and domain authorization still apply.

project_id
string<uuid>
required

Project whose findings are targeted.

domain_slug
string
required

Producer domain_slug to filter findings (e.g. "oss").

scope
object
required
path_prefix
string | null

Optional folder path prefix scope filter.

purl
string | null

Optional component PURL scope filter.

finding_ids
string<uuid>[]

Optional exact finding IDs. When present, these IDs replace purl and path_prefix as the finding scope, then are intersected with the authorized organization, project, and domain scope.

Minimum array length: 1
justification
string | null

Optional human-readable justification for the bulk reopen.

Response

Bulk reopen result

Result of a bulk-reopen operation. affected is the count of findings newly reopened in this call. unchanged counts findings that were already open/reopened and skipped idempotently. skipped counts findings excluded by scope or other non-error conditions. failed counts findings that caused an error (currently at most 1 — the operation aborts on first failure).

affected
integer
required

Number of findings newly reopened in this call.

unchanged
integer
required

Number of findings already open/reopened (idempotent skip).

skipped
integer
required

Number of findings excluded by scope filter or other non-error conditions.

failed
integer
required

Number of findings that caused an error (triggers full rollback).

finding_ids
string<uuid>[]

IDs of the findings that were reopened in this call. Callers can use this list to update local state without a full re-fetch.