Skip to content

AI Pilot API

Mantenido por: Aether365 Team Audiencia: Desarrolladores Alcance: Endpoints de remediación de AI Pilot - generar, revisar y aplicar correcciones automatizadas

AI Pilot convierte los hallazgos fallidos de tus análisis Compliance y Exposure en correcciones automatizadas. A través de la API puedes generar un plan de remediación para un análisis, revisar los cambios propuestos y aplicar los que apruebes. Aplicar una corrección es siempre una llamada explícita que tú realizas: no se cambia nada hasta que lo solicitas.

Requisitos

Los endpoints de AI Pilot requieren la habilitación de AI Pilot (Pro o Enterprise) y una conexión de Microsoft 365 vinculada en modo AI Pilot (write-consent). Una conexión de solo lectura puede generar y leer planes, pero no puede aplicar correcciones. Las llamadas devuelven 403 AUTH_INSUFFICIENT_SCOPE cuando falta la habilitación.

Listar checks remediables automáticamente

Devuelve los IDs de check que AI Pilot sabe corregir automáticamente. Úsalo para decidir, hallazgo por hallazgo, si hay una corrección automatizada disponible.

GET /tenants/me/remediation/capabilities

Ejemplo de respuesta

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

Generar un plan de remediación

Construye un plan de remediación para un análisis completado: un elemento por cada hallazgo fallido corregible, cada uno con el valor actual, el valor seguro propuesto y el ajuste al que apunta. La lectura del valor actual usa el ámbito de lectura de la conexión de AI Pilot; no se escribe ningún cambio.

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

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Listar planes de remediación

Devuelve los planes de remediación del tenant, del más reciente al más antiguo, cada uno con sus elementos y un estado consolidado.

GET /tenants/me/remediation-plans

Valores de estado del plan

EstadoSignificado
pendingGenerado, todavía no se ha aplicado nada
completedTodos los elementos aplicados y verificados
partially_appliedAlgunos elementos aplicados, otros fallidos o aún pendientes
failedNo se pudo aplicar ningún elemento

Obtener un plan de remediación

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

Devuelve un único plan (con sus elementos) limitado a tu tenant. Un plan que pertenece a otro tenant devuelve 404 NOT_FOUND.


Aplicar un plan de remediación

Aplica los elementos seleccionados a través de la conexión de AI Pilot: cada ajuste se escribe mediante Microsoft Graph y luego se vuelve a leer para confirmar que el cambio surtió efecto. Los elementos que no listes quedan intactos, y un elemento ya verificado nunca se vuelve a aplicar.

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

Cuerpo de la solicitud

CampoTipoDescripción
itemIdsstring[]IDs de los elementos del plan a aplicar

Ejemplo de solicitud

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

Ejemplo de respuesta

Se devuelve el plan completo, cada elemento con su status actualizado y, en caso de fallo, un error que explica el motivo.

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

Valores de estado de los elementos

EstadoSignificado
verifiedAplicado y confirmado mediante una relectura
appliedAplicado; Microsoft aún no ha confirmado la propagación (se vuelve a comprobar más tarde)
failedNo se pudo aplicar - consulta error (p. ej. falta el write-consent)
pendingNo aplicado en esta llamada

La aprobación humana se preserva

No existe ningún atajo de "aplicar todo". Tú eliges el plan y los elementos exactos que se aplican, de modo que un flujo de trabajo automatizado sigue manteniendo a una persona (o una decisión deliberada) en el bucle.

¿Te resultó útil esta página?