Skip to content

AI Pilot API

Spravuje: Aether365 Team Cílová skupina: Vývojáři Rozsah: Endpointy pro nápravu prostřednictvím AI Pilot - generování, kontrola a aplikace automatizovaných oprav

AI Pilot mění neúspěšné nálezy z vašich Compliance a Exposure skenů na automatizované opravy. Přes API můžete vygenerovat plán nápravy pro daný sken, zkontrolovat navržené změny a aplikovat ty, které schválíte. Aplikace opravy je vždy explicitní volání, které provádíte sami: nic se nezmění, dokud o to nepožádáte.

Požadavky

Endpointy AI Pilot vyžadují oprávnění AI Pilot (Pro nebo Enterprise) a připojení k Microsoft 365 navázané v režimu AI Pilot (write-consent). Připojení jen pro čtení umí plány generovat a číst, ale nemůže opravy aplikovat. Pokud oprávnění chybí, volání vrátí 403 AUTH_INSUFFICIENT_SCOPE.

Výpis automaticky napravitelných kontrol

Vrací ID kontrol, které AI Pilot umí opravit automaticky. Použijte jej k rozhodnutí, zda je pro daný nález dostupná automatizovaná oprava.

GET /tenants/me/remediation/capabilities

Příklad odpovědi

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

Vygenerování plánu nápravy

Sestaví plán nápravy pro dokončený sken: jednu položku pro každý opravitelný neúspěšný nález, vždy s aktuální hodnotou, navrženou bezpečnou hodnotou a nastavením, na které cílí. Čtení aktuální hodnoty využívá oprávnění ke čtení připojení AI Pilot; žádná změna se nezapisuje.

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

Příklad požadavku

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

Příklad odpovědi

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
      }
    ]
  }
}

Výpis plánů nápravy

Vrací plány nápravy daného tenanta, od nejnovějších, vždy s jejich položkami a souhrnným stavem.

GET /tenants/me/remediation-plans

Hodnoty stavu plánu

StavVýznam
pendingVygenerováno, zatím nic neaplikováno
completedKaždá položka aplikována a ověřena
partially_appliedNěkteré položky aplikovány, jiné selhaly nebo čekají
failedNepodařilo se aplikovat žádnou položku

Načtení plánu nápravy

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

Vrací jeden plán (s jeho položkami) omezený na vašeho tenanta. Plán patřící jinému tenantovi vrátí 404 NOT_FOUND.


Aplikace plánu nápravy

Aplikuje vybrané položky přes připojení AI Pilot: každé nastavení se zapíše prostřednictvím Microsoft Graph a poté se znovu přečte, aby se potvrdilo, že změna nabyla účinku. Položky, které neuvedete, zůstanou beze změny, a již ověřená položka se nikdy neaplikuje znovu.

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

Tělo požadavku

PoleTypPopis
itemIdsstring[]ID položek plánu, které se mají použít

Příklad požadavku

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"] }'

Příklad odpovědi

Vrátí se celý plán s aktualizovaným polem status u každé položky a v případě selhání s polem error, které vysvětluje příč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
verifiedAplikováno a potvrzeno opětovným přečtením
appliedAplikováno; Microsoft zatím nepotvrdil propagaci (zkontroluje se později)
failedNelze aplikovat - viz error (např. chybí write consent)
pendingV tomto volání neaplikováno

Lidské schválení zůstává zachováno

Neexistuje žádná zkratka "aplikovat vše". Vy volíte plán i přesné položky k aplikaci, takže i automatizovaný pracovní postup ponechává v procesu člověka (nebo vědomé rozhodnutí).

Byla tato stránka užitečná?