Skip to content

Nõuete API

Nõuded on spetsiifilised vastavuskohustused raamistikus (regulatsioonis). Iga nõue kuulub ühte raamistikku ja seda saab siduda meetmetega, mis seda täidavad.

Uue nõu loomine.

VäliTüüpKohustuslikKirjeldus
titlestringJahNõude pealkiri.
regulation_idUUIDJahRaamistiku ID, kuhu nõue kuulub.
descriptionstringEiHTML-vormingus kirjeldus.
chapter_namestringEiPeatüki/sektsiooni nimi.
chapter_numberstringEiPeatüki/sektsiooni number.
paragraph_numberstringEiLõigu number peatükis.
meaningstringEiSelgitus nõude tähenduse kohta.
label_idsmassiivEiMassiiv siltide UUID-dest.
is_applicablebooleanEiKas nõue on kohalduv. Vaikimisi true.
Terminal window
curl --location 'https://SINU_KORDONI_DOMEEN/api/v1/requirements/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SINU_VÕTI' \
--data '{
"requirement": {
"title": "Information Security Policy",
"regulation_id": "b698a0ed-ad82-4468-900e-3b6eb3f5eb9b",
"description": "<p>The organization shall define and communicate an information security policy.</p>",
"chapter_name": "Organizational Controls",
"chapter_number": "5",
"paragraph_number": "5.1",
"meaning": "A documented policy must exist and be communicated to all employees.",
"is_applicable": true
}
}'

Vastuse näide:

Staatus 200

{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Information Security Policy",
"description": "<p>The organization shall define and communicate an information security policy.</p>",
"chapter_name": "Organizational Controls",
"chapter_number": "5",
"paragraph_number": "5.1",
"meaning": "A documented policy must exist and be communicated to all employees.",
"is_applicable": true,
"labels": [],
"regulations": [
{
"id": "b698a0ed-ad82-4468-900e-3b6eb3f5eb9b",
"title": "ISO 27001:2022"
}
],
"controls": [],
"created_at": "2024-08-28T14:27:26+00:00",
"updated_at": "2024-08-28T14:27:26+00:00"
}
}

Nõude pärimine ID järgi.

Terminal window
curl --location --request GET 'https://SINU_KORDONI_DOMEEN/api/v1/requirements/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SINU_VÕTI'

Vastuse näide:

Staatus 200

{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Information Security Policy",
"description": "<p>The organization shall define and communicate an information security policy.</p>",
"chapter_name": "Organizational Controls",
"chapter_number": "5",
"paragraph_number": "5.1",
"meaning": "A documented policy must exist and be communicated to all employees.",
"is_applicable": true,
"labels": [],
"regulations": [
{
"id": "b698a0ed-ad82-4468-900e-3b6eb3f5eb9b",
"title": "ISO 27001:2022"
}
],
"controls": [],
"created_at": "2024-08-28T14:27:26+00:00",
"updated_at": "2024-08-28T14:27:26+00:00"
}
}

Kõikide nõuete nimekiri.

Päringu parameetrid

ParameeterTüüpKirjeldus
frameworks[]massiivFiltreeri raamistike ID-de järgi.
applicability[]massiivFiltreeri kohalduvuse järgi: true, false.
chapter[]massiivFiltreeri peatükkide nimede järgi.
controls[]massiivFiltreeri meetmete staatuse järgi: with_failing_controls, with_no_controls.
labels[]massiivFiltreeri sildi ID-de järgi. Kasuta väärtust none siltideta nõuete leidmiseks.
Terminal window
curl --location --request GET 'https://SINU_KORDONI_DOMEEN/api/v1/requirements/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SINU_VÕTI'

Näide filtritega:

Terminal window
curl --location --request GET 'https://SINU_KORDONI_DOMEEN/api/v1/requirements/?frameworks[]=b698a0ed-ad82-4468-900e-3b6eb3f5eb9b&applicability[]=true&controls[]=with_no_controls' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SINU_VÕTI'

Vastuse näide:

Staatus 200

{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Information Security Policy",
"chapter_name": "Organizational Controls",
"chapter_number": "5",
"paragraph_number": "5.1",
"is_applicable": true,
"regulations": [
{
"id": "b698a0ed-ad82-4468-900e-3b6eb3f5eb9b",
"title": "ISO 27001:2022"
}
]
}
],
"meta": {
"page": 1,
"per_page": 25,
"total_count": 1,
"total_pages": 1
}
}

Uuenda olemasolevat nõuet.

VäliTüüpKohustuslikKirjeldus
titlestringEiNõude pealkiri.
regulation_idsmassiivEiMassiiv raamistike ID-dest, kuhu nõue kuulub.
descriptionstringEiHTML-vormingus kirjeldus.
chapter_namestringEiPeatüki/sektsiooni nimi.
chapter_numberstringEiPeatüki/sektsiooni number.
paragraph_numberstringEiLõigu number peatükis.
meaningstringEiSelgitus nõude tähenduse kohta.
label_idsmassiivEiMassiiv siltide UUID-dest.
is_applicablebooleanEiKas nõue on kohalduv.
Terminal window
curl --location --request PATCH 'https://SINU_KORDONI_DOMEEN/api/v1/requirements/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SINU_VÕTI' \
--data '{
"requirement": {
"title": "Information Security Policy (Updated)",
"is_applicable": false
}
}'

Vastuse näide:

Staatus 200

{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Information Security Policy (Updated)",
"is_applicable": false,
"updated_at": "2024-08-29T09:15:00+00:00"
}
}

Kustuta nõue.

Terminal window
curl --location --request DELETE 'https://SINU_KORDONI_DOMEEN/api/v1/requirements/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SINU_VÕTI'

Vastuse näide:

Staatus 200

{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"deleted": true
}
}

Nõudeid saab ühendada meetmete, riskide ja leidudega.

Uuenda nõude sidemeid.

Sidemete parameetrid

ParameeterTüüpKirjeldus
control_idsmassiivÜhendatavate meetmete ID-d
risk_idsmassiivÜhendatavate riskide ID-d
finding_idsmassiivÜhendatavate leidude ID-d

Näide: Uuenda nõude sidemeid

Terminal window
curl --location PATCH \
--url "https://SINU_KORDONI_DOMEEN/api/v1/requirements/a1b2c3d4-e5f6-7890-abcd-ef1234567890/connections" \
--header "Authorization: Bearer SINU_VÕTI" \
--header "Content-Type: application/json" \
--data '{
"connections": {
"control_ids": [
"18211d00-904f-4ca9-a212-1e616a687d83",
"5e440b94-87c9-4bd9-9b04-65095439760e"
],
"risk_ids": [
"3efe0045-3562-4aa5-96bd-b17f13c4de79"
],
"finding_ids": [
"064ad39e-0f7f-479f-a239-5b4e30713a16"
]
}
}'

Vastuse näide

Staatus: 200

Vastus sisaldab täielikku nõude objekti koos kõigi uuendatud sidetega.