Update parts of an RSK by numeric ID.
const url = 'https://api.adversarial.com/api/v1/risks/RSK-00001';const options = { method: 'PATCH', headers: {'Content-Type': 'application/json'}, body: '{"assigned_to":null,"closed_date":null,"control_statement":null,"description":null,"discovered_date":null,"expected_date":null,"impact":null,"impact_reasoning":null,"initially_reported_urgency":null,"likelihood":null,"likelihood_reasoning":null,"parent_id":null,"remediation_task":null,"source":null,"status":null,"tags":null,"threat_objectives":null,"title":null,"type":null}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.adversarial.com/api/v1/risks/RSK-00001 \ --header 'Content-Type: application/json' \ --data '{ "assigned_to": null, "closed_date": null, "control_statement": null, "description": null, "discovered_date": null, "expected_date": null, "impact": null, "impact_reasoning": null, "initially_reported_urgency": null, "likelihood": null, "likelihood_reasoning": null, "parent_id": null, "remediation_task": null, "source": null, "status": null, "tags": null, "threat_objectives": null, "title": null, "type": null }'Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The ID of the risk — RSK-00001 (case-insensitive) or a bare number
Example
RSK-00001Request Bodyrequired
Section titled “Request Bodyrequired”The risk fields to change. Omitted fields are left as they are.
object
Mark this risk as linked under another risk. Some(Some(id)) sets the
parent; Some(None) clears it; None leaves the field untouched.
Example
RSK-00001A threat objective paired with how relevant it is to a risk.
Two relations are considered the same when the objective and its relevance
match; created_date records when the relation was last changed and is not
part of its identity.
object
The time that this relation was mutated
The threat objective type
Responses
Section titled “Responses”Risk updated successfully
Register row for Organization Risks (RSKs). A Risk plus the relational data
shown on the risk register: threat objectives, incident associations, tags, and
comment count.
object
Count of comments on this risk (not the comments themselves).
Number of risks linked under this risk (i.e. children pointing at it).
A risk is itself a linked child when risk.parent_id is set.
The core view of an Organization Risk (RSK).
Relational data — threat objectives, comments, incident associations, and tags —
is exposed on RiskRegisterEntry, not here.
object
A User as returned by the API.
Profile images are not embedded — clients fetch them from
GET /api/v1/{icon} when icon is Some.
object
Relative path to the user’s avatar endpoint, e.g.
"users/{id}/avatar?v={hash}". None when the user has no avatar.
A User as returned by the API.
Profile images are not embedded — clients fetch them from
GET /api/v1/{icon} when icon is Some.
object
Relative path to the user’s avatar endpoint, e.g.
"users/{id}/avatar?v={hash}". None when the user has no avatar.
When set, this risk is linked under the named parent risk.
The status of a risk
A User as returned by the API.
Profile images are not embedded — clients fetch them from
GET /api/v1/{icon} when icon is Some.
object
Relative path to the user’s avatar endpoint, e.g.
"users/{id}/avatar?v={hash}". None when the user has no avatar.
object
A threat objective paired with how relevant it is to a risk.
Two relations are considered the same when the objective and its relevance
match; created_date records when the relation was last changed and is not
part of its identity.
object
The time that this relation was mutated
The threat objective type
Example
{ "incident_associations": "INC-00001", "risk": { "id": "RSK-00001", "impact": "Very Low", "initially_reported_urgency": "Critical", "likelihood": "Remote", "parent_id": "RSK-00001", "status": "New", "type": "Code", "urgency": "Info" }, "threat_objectives": [ { "relevance": "Moderate", "threat_objective": "Sabotage" } ]}Validation failed (e.g. empty payload, unknown source, inactive assignee)
Risk not found
Invalid parent link (self-link, cycle, multi-layer nesting, or deleted parent)