AI Pilot API
Betreut von: Aether365 Team Zielgruppe: Entwickler Umfang: AI-Pilot-Remediation-Endpunkte - automatisierte Fixes generieren, prüfen und anwenden
AI Pilot wandelt fehlgeschlagene Befunde aus Ihren Compliance- und Exposure-Scans in automatisierte Fixes um. Über die API können Sie einen Remediation-Plan für einen Scan generieren, die vorgeschlagenen Änderungen prüfen und die von Ihnen freigegebenen anwenden. Das Anwenden eines Fixes ist immer ein expliziter Aufruf Ihrerseits: Nichts wird geändert, bevor Sie es anfordern.
Voraussetzungen
AI-Pilot-Endpunkte erfordern die AI Pilot-Berechtigung (Pro oder Enterprise) sowie eine Microsoft 365-Verbindung, die im AI Pilot (Write-Consent)-Modus verknüpft ist. Eine schreibgeschützte Verbindung kann Pläne generieren und lesen, aber keine Fixes anwenden. Aufrufe geben 403 AUTH_INSUFFICIENT_SCOPE zurück, wenn die Berechtigung fehlt.
Automatisch behebbare Checks auflisten
Gibt die Check-IDs zurück, die AI Pilot automatisch beheben kann. Damit entscheiden Sie pro Befund, ob ein automatisierter Fix verfügbar ist.
GET /tenants/me/remediation/capabilitiesBeispielantwort
json
{
"success": true,
"data": { "autoRemediableTestIds": ["AE.1068", "CIS.M365.5.1.2.3", "AE.1102"] }
}Remediation-Plan generieren
Erstellt einen Remediation-Plan für einen abgeschlossenen Scan: ein Eintrag pro behebbarem, fehlgeschlagenem Befund, jeweils mit dem aktuellen Wert, dem vorgeschlagenen sicheren Wert und der betroffenen Einstellung. Das Lesen des aktuellen Werts nutzt den Lesebereich der AI-Pilot-Verbindung; es wird keine Änderung geschrieben.
POST /tenants/me/scans/{scanId}/remediation-planBeispielanfrage
bash
curl -X POST https://api.aether365.io/tenants/me/scans/scan_abc123/remediation-plan \
-H "Authorization: Bearer ak_live_..."Beispielantwort
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
}
]
}
}Remediation-Pläne auflisten
Gibt die Remediation-Pläne des Tenants zurück, neueste zuerst, jeweils mit ihren Einträgen und einem zusammengefassten Status.
GET /tenants/me/remediation-plansPlan-Statuswerte
| Status | Bedeutung |
|---|---|
pending | Generiert, noch nichts angewendet |
completed | Jeder Eintrag angewendet und verifiziert |
partially_applied | Einige Einträge angewendet, andere fehlgeschlagen oder noch ausstehend |
failed | Kein Eintrag konnte angewendet werden |
Einen Remediation-Plan abrufen
GET /tenants/me/remediation-plans/{planId}Gibt einen einzelnen Plan (mit seinen Einträgen) im Geltungsbereich Ihres Tenants zurück. Ein Plan, der zu einem anderen Tenant gehört, gibt 404 NOT_FOUND zurück.
Einen Remediation-Plan anwenden
Wendet die ausgewählten Einträge über die AI-Pilot-Verbindung an: Jede Einstellung wird über Microsoft Graph geschrieben und anschließend erneut gelesen, um zu bestätigen, dass die Änderung wirksam wurde. Nicht aufgeführte Einträge bleiben unberührt, und ein bereits verifizierter Eintrag wird nie erneut angewendet.
POST /tenants/me/remediation-plans/{planId}/applyAnfragekörper
| Feld | Typ | Beschreibung |
|---|---|---|
itemIds | string[] | IDs der anzuwendenden Plan-Einträge |
Beispielanfrage
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"] }'Beispielantwort
Der vollständige Plan wird zurückgegeben, jeder Eintrag mit aktualisiertem status und, bei einem Fehlschlag, einem error, der die Ursache erklärt.
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"
}
]
}
}Eintrag-Statuswerte
| Status | Bedeutung |
|---|---|
verified | Angewendet und durch erneutes Lesen bestätigt |
applied | Angewendet; Microsoft hat die Propagierung noch nicht bestätigt (wird später erneut geprüft) |
failed | Konnte nicht angewendet werden - siehe error (z. B. fehlender Write-Consent) |
pending | In diesem Aufruf nicht angewendet |
Menschliche Freigabe bleibt erhalten
Es gibt keine Abkürzung nach dem Motto "alles anwenden". Sie wählen den Plan und die genauen anzuwendenden Einträge, sodass ein automatisierter Workflow weiterhin einen Menschen (oder eine bewusste Entscheidung) im Prozess behält.