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.
POST /requirements/
Section titled “POST /requirements/”Uue nõu loomine.
| Väli | Tüüp | Kohustuslik | Kirjeldus |
|---|---|---|---|
title | string | Jah | Nõude pealkiri. |
regulation_id | UUID | Jah | Raamistiku ID, kuhu nõue kuulub. |
description | string | Ei | HTML-vormingus kirjeldus. |
chapter_name | string | Ei | Peatüki/sektsiooni nimi. |
chapter_number | string | Ei | Peatüki/sektsiooni number. |
paragraph_number | string | Ei | Lõigu number peatükis. |
meaning | string | Ei | Selgitus nõude tähenduse kohta. |
label_ids | massiiv | Ei | Massiiv siltide UUID-dest. |
is_applicable | boolean | Ei | Kas nõue on kohalduv. Vaikimisi true. |
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" }}GET /requirements/:id
Section titled “GET /requirements/:id”Nõude pärimine ID järgi.
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" }}GET /requirements/
Section titled “GET /requirements/”Kõikide nõuete nimekiri.
Päringu parameetrid
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
frameworks[] | massiiv | Filtreeri raamistike ID-de järgi. |
applicability[] | massiiv | Filtreeri kohalduvuse järgi: true, false. |
chapter[] | massiiv | Filtreeri peatükkide nimede järgi. |
controls[] | massiiv | Filtreeri meetmete staatuse järgi: with_failing_controls, with_no_controls. |
labels[] | massiiv | Filtreeri sildi ID-de järgi. Kasuta väärtust none siltideta nõuete leidmiseks. |
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:
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 }}PATCH /requirements/:id
Section titled “PATCH /requirements/:id”Uuenda olemasolevat nõuet.
| Väli | Tüüp | Kohustuslik | Kirjeldus |
|---|---|---|---|
title | string | Ei | Nõude pealkiri. |
regulation_ids | massiiv | Ei | Massiiv raamistike ID-dest, kuhu nõue kuulub. |
description | string | Ei | HTML-vormingus kirjeldus. |
chapter_name | string | Ei | Peatüki/sektsiooni nimi. |
chapter_number | string | Ei | Peatüki/sektsiooni number. |
paragraph_number | string | Ei | Lõigu number peatükis. |
meaning | string | Ei | Selgitus nõude tähenduse kohta. |
label_ids | massiiv | Ei | Massiiv siltide UUID-dest. |
is_applicable | boolean | Ei | Kas nõue on kohalduv. |
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" }}DELETE /requirements/:id
Section titled “DELETE /requirements/:id”Kustuta nõue.
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õude sidemete haldamine
Section titled “Nõude sidemete haldamine”Nõudeid saab ühendada meetmete, riskide ja leidudega.
PATCH /requirements/:id/connections
Section titled “PATCH /requirements/:id/connections”Uuenda nõude sidemeid.
Sidemete parameetrid
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
control_ids | massiiv | Ühendatavate meetmete ID-d |
risk_ids | massiiv | Ühendatavate riskide ID-d |
finding_ids | massiiv | Ühendatavate leidude ID-d |
Näide: Uuenda nõude sidemeid
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.