Skip to content

Risks API

Manage your organization’s risks, their assessment, and mitigation strategies.

List all risks with optional filtering.

Query Parameters

ParameterTypeDescription
state[]arrayFilter by state: acceptable, not_mitigated, mitigated, transferred.
owner[]arrayFilter by owner user IDs.
manager[]arrayFilter by manager user IDs.
labels[]arrayFilter by label IDs. Use none for risks without labels.
impact[]arrayFilter by impact level.
probability[]arrayFilter by probability level.
Get Risks
curl --location 'https://YOUR_KORDON_DOMAIN/api/v1/risks/' \
--header 'Authorization: Bearer YOUR-TOKEN'

Example with filters:

Terminal window
curl --location 'https://YOUR_KORDON_DOMAIN/api/v1/risks/?state[]=not_mitigated&impact[]=high' \
--header 'Authorization: Bearer YOUR-TOKEN'

Example response

{
"data": [
{
"id": "67ed9437-b3ec-4459-a02c-bdb30b4e2a16",
"assets": [],
"controls": [],
"description": "<p>Risk Description</p>",
"impact": 0,
"labels": [],
"manager": {
"id": "1bccedd9-ade7-42f9-ae6b-6ec7664bb6e4",
"name": "Maksym"
},
"mitigated_impact": 0,
"mitigated_probability": 0,
"mitigations": [],
"owner": {
"id": "1bccedd9-ade7-42f9-ae6b-6ec7664bb6e4",
"name": "Maksym"
},
"owner_id": "1bccedd9-ade7-42f9-ae6b-6ec7664bb6e4",
"probability": 0,
"residual_score": 0,
"score": 0,
"state": "acceptable",
"tasks": [],
"title": "One risk to rule them all",
"updated_at": "2024-05-06T15:26:06+00:00"
}
]
}

Get a single risk by ID.

Terminal window
curl --location 'https://YOUR_KORDON_DOMAIN/api/v1/risks/67ed9437-b3ec-4459-a02c-bdb30b4e2a16' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data ''

Example response

Status 200

{
"data": {
"id": "67ed9437-b3ec-4459-a02c-bdb30b4e2a16",
"assets": [],
"controls": [],
"description": "<p>Risk description</p>",
"impact": 0,
"labels": [],
"manager": {
"id": "1bccedd9-ade7-42f9-ae6b-6ec7664bb6e4",
"name": "Maksym"
},
"mitigated_impact": 0,
"mitigated_probability": 0,
"mitigations": [],
"owner": {
"id": "1bccedd9-ade7-42f9-ae6b-6ec7664bb6e4",
"name": "Maksym"
},
"owner_id": "1bccedd9-ade7-42f9-ae6b-6ec7664bb6e4",
"probability": 0,
"residual_score": 0,
"score": 0,
"state": "acceptable",
"tasks": [],
"title": "One risk to rule them all",
"updated_at": "2024-05-06T15:26:06+00:00"
}
}

Update an existing risk.

Terminal window
curl --location --request PATCH 'https://YOUR_KORDON_DOMAIN/api/v1/risks/1a9c9bee-f5de-411d-bbd6-30f7fca37ae6' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data '{
"title": "New risk title"
}'

Example response will have the full data of the now updated object.

Status: 200

{
"data": {
"id": "1a9c9bee-f5de-411d-bbd6-30f7fca37ae6",
"assets": [],
"controls": [],
"description": "",
"impact": 0,
"labels": [],
"manager": {
"id": "98dcb717-al70-4c89-8246-0bb026wc215b",
"name": "Jaana Manana"
},
"mitigated_impact": 0,
"mitigated_probability": 0,
"mitigations": [],
"owner": {
"id": "05wa1387-a987-3cyt-y2df-9e41u8569aed",
"name": "Martin Lootus"
},
"owner_id": "05wa1387-a987-3cyt-y2df-9e41u8569aed",
"probability": 0,
"residual_score": 0,
"score": 0,
"state": "acceptable",
"tasks": [],
"title": "New risk title",
"updated_at": "2024-08-28T14:52:49+00:00"
}
}

Delete a risk.

Terminal window
curl --location --request DELETE 'https://YOUR_KORDON_DOMAIN/api/v1/risks/67ed9437-b3ec-4459-a02c-bdb30b4e2a16' \
--header 'Authorization: Bearer YOUR-TOKEN' \
--data ''

Response of a deletion request will include the id of the just deleted object.

Example response:

Status 200

{
"data": {
"id": "67ed9437-b3ec-4459-a02c-bdb30b4e2a16"
}
}

Create a new risk.

Required parameters:

title, manager_id, owner_id

Optional parameters:

impact, probability, description, label_ids

Terminal window
curl --location 'https://YOUR_KORDON_DOMAIN/api/v1/risks/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data '{
"title": "Risk title",
"manager_id": "98dcb717-al70-4c89-8246-0bb026wc215b",
"owner_id": "05wa1387-a987-3cyt-y2df-9e41u8569aed",
"impact": 1,
"probability": 5,
"label_ids": [],
"description": "<p>The description</p>"
}'

Example response:

Response of a creation request will include the full data of the created object.

Status 200

{
"data": {
"id": "572d56ad-1e9a-4460-85dc-129d2154b06f",
"assets": [],
"controls": [],
"description": "<p>The description</p>",
"impact": 1,
"labels": [],
"manager": {
"id": "98dcb717-al70-4c89-8246-0bb026wc215b",
"name": "Jaana Manana"
},
"mitigated_impact": 1,
"mitigated_probability": 5,
"mitigations": [],
"owner": {
"id": "05wa1387-a987-3cyt-y2df-9e41u8569aed",
"name": "Martin Lootus"
},
"owner_id": "05wa1387-a987-3cyt-y2df-9e41u8569aed",
"probability": 5,
"residual_score": 5,
"score": 5,
"state": "acceptable",
"tasks": [],
"title": "Risk title",
"updated_at": "2024-08-28T14:46:46+00:00"
}
}

Risks can be connected to Requirements, Controls, Vendors, Assets, Business Processes, and Findings.

Update the connections for a risk.

Connection Parameters

ParameterTypeDescription
requirement_idsarrayIDs of requirements to connect
control_idsarrayIDs of controls to connect
vendor_idsarrayIDs of vendors to connect
asset_idsarrayIDs of assets to connect
business_process_idsarrayIDs of business processes to connect
finding_idsarrayIDs of findings to connect

Example: Update risk connections

Terminal window
curl --location PATCH \
--url "https://YOUR_KORDON_DOMAIN/api/v1/risks/67ed9437-b3ec-4459-a02c-bdb30b4e2a16/connections" \
--header "Authorization: Bearer YOUR-TOKEN" \
--header "Content-Type: application/json" \
--data '{
"connections": {
"control_ids": [
"18211d00-904f-4ca9-a212-1e616a687d83"
],
"asset_ids": [
"0fb11fe0-85de-423d-ba63-b76598a9c743",
"16615652-dcea-4250-8068-ab19e0dc046d"
],
"vendor_ids": [
"b00f71e5-9cb4-4995-96e6-0e5710f85e0a"
]
}
}'

Example Response

Status: 200

The response returns the full risk object with all updated connections.