Skip to content

AI Pilot API

Vedlikeholdt av: Aether365 Team Målgruppe: Utviklere Omfang: AI Pilots utbedringsendepunkter - generere, gjennomgå og bruke automatiske rettelser

AI Pilot gjør mislykkede funn fra Compliance- og Exposure-skanningene dine om til automatiske rettelser. Via API-et kan du generere en utbedringsplan for en skanning, gjennomgå de foreslåtte endringene og bruke dem du godkjenner. Å bruke en rettelse er alltid et eksplisitt kall som du gjør: ingenting endres før du ber om det.

Krav

AI Pilot-endepunkter krever rettigheten AI Pilot (Pro eller Enterprise) og en Microsoft 365-tilkobling koblet i AI Pilot-modus (write-consent). En skrivebeskyttet tilkobling kan generere og lese planer, men kan ikke bruke rettelser. Kall returnerer 403 AUTH_INSUFFICIENT_SCOPE når rettigheten mangler.

List opp automatisk utbedrbare kontroller

Returnerer kontroll-ID-ene som AI Pilot vet hvordan den skal rette automatisk. Bruk det til å avgjøre, per funn, om en automatisk rettelse er tilgjengelig.

GET /tenants/me/remediation/capabilities

Eksempelrespons

json
{
  "success": true,
  "data": { "autoRemediableTestIds": ["AE.1068", "CIS.M365.5.1.2.3", "AE.1102"] }
}

Generere en utbedringsplan

Bygger en utbedringsplan for en fullført skanning: ett element per rettbart mislykket funn, hvert med gjeldende verdi, den foreslåtte sikre verdien og innstillingen det retter seg mot. Lesingen av gjeldende verdi bruker leseomfanget til AI Pilot-tilkoblingen; ingen endring skrives.

POST /tenants/me/scans/{scanId}/remediation-plan

Eksempelforespørsel

bash
curl -X POST https://api.aether365.io/tenants/me/scans/scan_abc123/remediation-plan \
  -H "Authorization: Bearer ak_live_..."

Eksempelrespons

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
      }
    ]
  }
}

List opp utbedringsplaner

Returnerer leietakerens utbedringsplaner, nyeste først, hver med sine elementer og oppsummert status.

GET /tenants/me/remediation-plans

Statusverdier for en plan

StatusBetydning
pendingGenerert, ingenting brukt ennå
completedHvert element brukt og verifisert
partially_appliedNoen elementer brukt, andre mislyktes eller venter
failedIngen elementer kunne brukes

Hente en utbedringsplan

GET /tenants/me/remediation-plans/{planId}

Returnerer en enkelt plan (med sine elementer) avgrenset til din leietaker. En plan som tilhører en annen leietaker returnerer 404 NOT_FOUND.


Bruke en utbedringsplan

Bruker de valgte elementene via AI Pilot-tilkoblingen: hver innstilling skrives gjennom Microsoft Graph og leses deretter på nytt for å bekrefte at endringen fikk effekt. Elementer du ikke lister opp, forblir urørt, og et allerede verifisert element brukes aldri på nytt.

POST /tenants/me/remediation-plans/{planId}/apply

Forespørselskropp

FeltTypeBeskrivelse
itemIdsstring[]ID-er for planelementene som skal brukes

Eksempelforespørsel

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"] }'

Eksempelrespons

Hele planen returneres med hvert elements oppdaterte status og, ved feil, en error som forklarer hvorfor.

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"
      }
    ]
  }
}

Statusverdier for et element

StatusBetydning
verifiedBrukt og bekreftet ved en ny lesing
appliedBrukt; Microsoft har ennå ikke bekreftet propageringen (sjekkes på nytt senere)
failedKunne ikke brukes - se error (f.eks. write consent mangler)
pendingIkke brukt i dette kallet

Menneskelig godkjenning bevares

Det finnes ingen "bruk alt"-snarvei. Du velger planen og de nøyaktige elementene som skal brukes, så en automatisert arbeidsflyt holder fortsatt et menneske (eller en bevisst beslutning) i loopen.

Var denne siden nyttig?