Bulk action on findings
POST/api/v1/findings/bulk
Apply one triage action to many findings at once.
Brings the per-assessment Actions menu to the global /findings list:
bulk set-status (false-positive / accepted-risk / duplicate / …), bulk
assign, and bulk unassign — over an explicit id list or "select all
matching filter". Every row is run through the SAME per-finding triage
service as PATCH /findings/{id}, so status_history, owner-assignment
notifications, duplicate validation, and audit semantics are identical.
- Scope required:
findings:triage. - Partial success: each row reports
ok/error_codeindependently; one invalid row never rolls back the others. The response aggregates the counts so the UI can surface "47 updated, 3 failed".
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 429
- 500
Successful Response
Bad request — malformed input or failed validation.
Missing, expired, or invalid credentials.
Authenticated but not authorized for this resource. Note: cross-organization reads return 404, not 403.
Resource not found, or hidden for tenant-enumeration safety (the caller lacks permission to know whether the resource exists).
Conflict — the current resource state does not allow this operation (e.g. assessment already started, email already in use).
Semantic validation failure — request shape was valid but contents were not.
Too many requests — rate limited. Retry after the window resets.
Internal server error — unexpected failure.