AI Pilot API
Underhålls av: Aether365 Team Målgrupp: Utvecklare Omfattning: AI Pilots remedieringsendpoints - generera, granska och tillämpa automatiska åtgärder
AI Pilot omvandlar misslyckade fynd från dina Compliance- och Exposure-skanningar till automatiska åtgärder. Via API:et kan du generera en remedieringsplan för en skanning, granska de föreslagna ändringarna och tillämpa dem du godkänner. Att tillämpa en åtgärd är alltid ett explicit anrop som du gör: ingenting ändras förrän du begär det.
Krav
AI Pilot-endpoints kräver behörigheten AI Pilot (Pro eller Enterprise) och en Microsoft 365-anslutning kopplad i AI Pilot-läge (write-consent). En skrivskyddad anslutning kan generera och läsa planer men kan inte tillämpa åtgärder. Anrop returnerar 403 AUTH_INSUFFICIENT_SCOPE när behörigheten saknas.
Lista automatiskt åtgärdbara kontroller
Returnerar de kontroll-ID:n som AI Pilot vet hur den ska åtgärda automatiskt. Använd det för att per fynd avgöra om en automatisk åtgärd finns tillgänglig.
GET /tenants/me/remediation/capabilitiesExempelsvar
json
{
"success": true,
"data": { "autoRemediableTestIds": ["AE.1068", "CIS.M365.5.1.2.3", "AE.1102"] }
}Generera en remedieringsplan
Bygger en remedieringsplan för en slutförd skanning: ett objekt per åtgärdbart misslyckat fynd, vart och ett med det nuvarande värdet, det föreslagna säkra värdet och inställningen det riktar sig mot. Läsningen av det nuvarande värdet använder AI Pilot-anslutningens läsomfattning; ingen ändring skrivs.
POST /tenants/me/scans/{scanId}/remediation-planExempelbegäran
bash
curl -X POST https://api.aether365.io/tenants/me/scans/scan_abc123/remediation-plan \
-H "Authorization: Bearer ak_live_..."Exempelsvar
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
}
]
}
}Lista remedieringsplaner
Returnerar tenantens remedieringsplaner, nyast först, var och en med sina objekt och sammanslagen status.
GET /tenants/me/remediation-plansStatusvärden för en plan
| Status | Betydelse |
|---|---|
pending | Genererad, inget tillämpat ännu |
completed | Varje objekt tillämpat och verifierat |
partially_applied | Vissa objekt tillämpade, andra misslyckade eller väntar |
failed | Inget objekt kunde tillämpas |
Hämta en remedieringsplan
GET /tenants/me/remediation-plans/{planId}Returnerar en enskild plan (med sina objekt) begränsad till din tenant. En plan som tillhör en annan tenant returnerar 404 NOT_FOUND.
Tillämpa en remedieringsplan
Tillämpar de valda objekten via AI Pilot-anslutningen: varje inställning skrivs genom Microsoft Graph och läses sedan om för att bekräfta att ändringen fick effekt. Objekt du inte listar lämnas orörda, och ett redan verifierat objekt tillämpas aldrig på nytt.
POST /tenants/me/remediation-plans/{planId}/applyBegärandekropp
| Fält | Typ | Beskrivning |
|---|---|---|
itemIds | string[] | ID:n för de planobjekt som ska tillämpas |
Exempelbegäran
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"] }'Exempelsvar
Hela planen returneras med varje objekts uppdaterade status och, vid misslyckande, ett error som förklarar varför.
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"
}
]
}
}Statusvärden för ett objekt
| Status | Betydelse |
|---|---|
verified | Tillämpat och bekräftat genom en omläsning |
applied | Tillämpat; Microsoft har ännu inte bekräftat spridningen (kontrolleras igen senare) |
failed | Kunde inte tillämpas - se error (t.ex. write consent saknas) |
pending | Inte tillämpat i detta anrop |
Mänskligt godkännande bevaras
Det finns ingen genväg för "tillämpa allt". Du väljer planen och de exakta objekten som ska tillämpas, så ett automatiserat arbetsflöde håller ändå en människa (eller ett medvetet beslut) i loopen.