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/capabilitiesPří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-planPří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-plansHodnoty stavu plánu
| Stav | Význam |
|---|---|
pending | Vygenerováno, zatím nic neaplikováno |
completed | Každá položka aplikována a ověřena |
partially_applied | Některé položky aplikovány, jiné selhaly nebo čekají |
failed | Nepodař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}/applyTělo požadavku
| Pole | Typ | Popis |
|---|---|---|
itemIds | string[] | 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
| Stav | Význam |
|---|---|
verified | Aplikováno a potvrzeno opětovným přečtením |
applied | Aplikováno; Microsoft zatím nepotvrdil propagaci (zkontroluje se později) |
failed | Nelze aplikovat - viz error (např. chybí write consent) |
pending | V 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í).