Skip to content

AI Pilot API

Супровiд: Aether365 Team Аудиторiя: Розробники Сфера: Endpoint'и виправлення AI Pilot - генерування, перегляд i застосування автоматичних виправлень

AI Pilot перетворює невдалi результати ваших сканувань Compliance та Exposure на автоматичнi виправлення. Через API ви можете згенерувати план виправлення для сканування, переглянути запропонованi змiни та застосувати тi, якi схвалюєте. Застосування виправлення завжди є явним викликом, який робите ви: нiчого не змiнюється, доки ви про це не попросите.

Вимоги

Endpoint'и AI Pilot потребують права AI Pilot (Pro або Enterprise) i пiдключення Microsoft 365, прив'язаного в режимi AI Pilot (write-consent). Пiдключення лише для читання може генерувати та читати плани, але не може застосовувати виправлення. За вiдсутностi цього права виклики повертають 403 AUTH_INSUFFICIENT_SCOPE.

Список перевiрок, що пiдлягають автовиправленню

Повертає ID перевiрок, якi AI Pilot вмiє виправляти автоматично. Використовуйте його, щоб для кожного результату вирiшити, чи доступне автоматичне виправлення.

GET /tenants/me/remediation/capabilities

Приклад вiдповiдi

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

Генерування плану виправлення

Будує план виправлення для завершеного сканування: по одному пункту на кожен виправний невдалий результат, кожен з поточним значенням, запропонованим безпечним значенням i налаштуванням, на яке вiн спрямований. Зчитування поточного значення використовує область читання пiдключення AI Pilot; жодних змiн не записується.

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

Приклад запиту

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

Приклад вiдповiдi

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

Список планiв виправлення

Повертає плани виправлення tenant'а, найновiшi першими, кожен зi своїми пунктами та зведеним статусом.

GET /tenants/me/remediation-plans

Значення статусу плану

СтатусЗначення
pendingЗгенеровано, нiчого ще не застосовано
completedУсi пункти застосовано та перевiрено
partially_appliedДеякi пункти застосовано, деякi невдалi або ще в очiкуваннi
failedЖоден пункт не вдалося застосувати

Отримання плану виправлення

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

Повертає один план (з його пунктами) у межах вашого tenant'а. План, що належить iншому tenant'у, повертає 404 NOT_FOUND.


Застосування плану виправлення

Застосовує вибранi пункти через пiдключення AI Pilot: кожне налаштування записується через Microsoft Graph, а потiм перечитується для пiдтвердження, що змiна набула чинностi. Пункти, якi ви не вказали, лишаються незмiнними, а вже перевiрений пункт нiколи не застосовується повторно.

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

Тiло запиту

ПолеТипОпис
itemIdsstring[]ID пунктiв плану для застосування

Приклад запиту

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

Приклад вiдповiдi

Повертається повний план з оновленим status кожного пункту, а в разi невдачi - error з поясненням причини.

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

Значення статусу пункту

СтатусЗначення
verifiedЗастосовано та пiдтверджено повторним зчитуванням
appliedЗастосовано; Microsoft ще не пiдтвердила поширення (перевiриться згодом)
failedНе вдалося застосувати - див. error (наприклад, вiдсутня write consent)
pendingНе застосовано в цьому викликi

Схвалення людиною збережено

Швидкого варiанту "застосувати все" немає. Ви обираєте план i точнi пункти для застосування, тож автоматизований робочий процес однаково тримає людину (або свiдоме рiшення) в контурi.

Ця сторінка була корисною?