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ло запиту
| Поле | Тип | Опис |
|---|---|---|
itemIds | string[] | 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.