Skip to content

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/capabilities

Beispielantwort

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-plan

Beispielanfrage

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-plans

Plan-Statuswerte

StatusBedeutung
pendingGeneriert, noch nichts angewendet
completedJeder Eintrag angewendet und verifiziert
partially_appliedEinige Einträge angewendet, andere fehlgeschlagen oder noch ausstehend
failedKein 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}/apply

Anfragekörper

FeldTypBeschreibung
itemIdsstring[]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

StatusBedeutung
verifiedAngewendet und durch erneutes Lesen bestätigt
appliedAngewendet; Microsoft hat die Propagierung noch nicht bestätigt (wird später erneut geprüft)
failedKonnte nicht angewendet werden - siehe error (z. B. fehlender Write-Consent)
pendingIn 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.

War diese Seite hilfreich?