Skip to content

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

Exempelsvar

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

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

Statusvärden för en plan

StatusBetydelse
pendingGenererad, inget tillämpat ännu
completedVarje objekt tillämpat och verifierat
partially_appliedVissa objekt tillämpade, andra misslyckade eller väntar
failedInget 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}/apply

Begärandekropp

FältTypBeskrivning
itemIdsstring[]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

StatusBetydelse
verifiedTillämpat och bekräftat genom en omläsning
appliedTillämpat; Microsoft har ännu inte bekräftat spridningen (kontrolleras igen senare)
failedKunde inte tillämpas - se error (t.ex. write consent saknas)
pendingInte 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.

Var den här sidan till hjälp?