Skip to content

AI Pilot API

Spravuje: Aether365 Team Cieľová skupina: Vývojári Rozsah: Koncové body AI Pilot pre nápravu - generovanie, kontrola a aplikovanie automatizovaných opráv

AI Pilot premieňa neúspešné zistenia z vašich Compliance a Exposure skenov na automatizované opravy. Cez API môžete vygenerovať plán nápravy pre sken, skontrolovať navrhované zmeny a aplikovať tie, ktoré schválite. Aplikovanie opravy je vždy explicitné volanie, ktoré vykonáte vy: nič sa nezmení, kým o to nepožiadate.

Požiadavky

Koncové body AI Pilot vyžadujú oprávnenie AI Pilot (Pro alebo Enterprise) a pripojenie Microsoft 365 prepojené v režime AI Pilot (write-consent). Pripojenie len na čítanie dokáže plány generovať a čítať, ale nedokáže aplikovať opravy. Pri chýbajúcom oprávnení volania vrátia 403 AUTH_INSUFFICIENT_SCOPE.

Zoznam automaticky naprávateľných kontrol

Vráti identifikátory kontrol, ktoré AI Pilot dokáže opraviť automaticky. Použite ho na rozhodnutie, či je pre dané zistenie k dispozícii automatizovaná oprava.

GET /tenants/me/remediation/capabilities

Príklad odpovede

json
{
  "success": true,
  "data": { "autoRemediableTestIds": ["AE.1068", "CIS.M365.5.1.2.3", "AE.1102"] }
}

Vygenerovanie plánu nápravy

Zostaví plán nápravy pre dokončený sken: jednu položku pre každé opraviteľné neúspešné zistenie, každú s aktuálnou hodnotou, navrhovanou bezpečnou hodnotou a nastavením, na ktoré sa zameriava. Čítanie aktuálnej hodnoty využíva rozsah čítania pripojenia AI Pilot; nezapisuje sa žiadna zmena.

POST /tenants/me/scans/{scanId}/remediation-plan

Príklad požiadavky

bash
curl -X POST https://api.aether365.io/tenants/me/scans/scan_abc123/remediation-plan \
  -H "Authorization: Bearer ak_live_..."

Príklad odpovede

json
{
  "success": true,
  "data": {
    "id": "plan_abc123",
    "scanId": "scan_abc123",
    "msTenantId": "00000000-0000-0000-0000-000000000000",
    "status": "pending",
    "createdAt": "2026-06-17T09:00:00Z",
    "items": [
      {
        "id": "item_1",
        "testId": "AE.1068",
        "coveredTestIds": ["AE.1068", "CIS.M365.5.1.2.3"],
        "actionKey": "require_mfa_admins",
        "title": "Require MFA for administrator roles",
        "settingKey": "conditionalAccess.requireMfaAdmins",
        "currentValue": false,
        "proposedValue": true,
        "status": "pending",
        "appliedBy": null,
        "appliedAt": null,
        "error": null
      }
    ]
  }
}

Zoznam plánov nápravy

Vráti plány nápravy nájomníka, najnovšie ako prvé, každý so svojimi položkami a súhrnným stavom.

GET /tenants/me/remediation-plans

Hodnoty stavu plánu

StavVýznam
pendingVygenerovaný, zatiaľ nič neaplikované
completedVšetky položky aplikované a overené
partially_appliedNiektoré položky aplikované, niektoré zlyhali alebo čakajú
failedNepodarilo sa aplikovať žiadnu položku

Získanie plánu nápravy

GET /tenants/me/remediation-plans/{planId}

Vráti jeden plán (s jeho položkami) obmedzený na váš tenant. Plán, ktorý patrí inému tenantu, vráti 404 NOT_FOUND.


Aplikovanie plánu nápravy

Aplikuje vybrané položky cez pripojenie AI Pilot: každé nastavenie sa zapíše cez Microsoft Graph a potom sa znova prečíta na potvrdenie, že zmena nadobudla účinok. Položky, ktoré neuvediete, zostanú nedotknuté a už overená položka sa nikdy znova neaplikuje.

POST /tenants/me/remediation-plans/{planId}/apply

Telo požiadavky

PoleTypPopis
itemIdsstring[]Identifikátory položiek plánu na aplikovanie

Príklad požiadavky

bash
curl -X POST https://api.aether365.io/tenants/me/remediation-plans/plan_abc123/apply \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "itemIds": ["item_1", "item_2"] }'

Príklad odpovede

Vráti sa celý plán s aktualizovaným status každej položky a pri zlyhaní s error, ktorý vysvetľuje príčinu.

json
{
  "success": true,
  "data": {
    "id": "plan_abc123",
    "status": "partially_applied",
    "items": [
      {
        "id": "item_1",
        "title": "Require MFA for administrator roles",
        "status": "verified",
        "appliedAt": "2026-06-17T09:05:00Z",
        "error": null
      },
      {
        "id": "item_2",
        "title": "Disable legacy authentication",
        "status": "failed",
        "error": "Write consent is missing or has expired"
      }
    ]
  }
}

Hodnoty stavu položky

StavVýznam
verifiedAplikované a potvrdené opätovným prečítaním
appliedAplikované; Microsoft zatiaľ nepotvrdil rozšírenie (overí sa neskôr)
failedNepodarilo sa aplikovať: pozri error (napr. chýbajúci write consent)
pendingV tomto volaní neaplikované

Schválenie človekom je zachované

Neexistuje skratka "aplikovať všetko". Vyberáte plán a presné položky na aplikovanie, takže aj automatizovaný pracovný postup ponecháva v slučke človeka (alebo zámerné rozhodnutie).

Bola táto stránka užitočná?