Listar registros de aprovisionamiento del directorio

GET /v1/directories/{directory_id}/provisioning-logs · permiso directories:read

Lista el registro de aprovisionamiento de un directorio SCIM, de la más reciente a la más antigua. Cada solicitud SCIM autenticada que el proveedor de identidad envió es un registro: método, plantilla de ruta (el ID real nunca aparece en la ruta), tipo de recurso e ID, un resumen de operaciones sin valores, nombres de atributos ignorados, estado HTTP, scim_type, duración, el prefijo de la dirección del cliente (IPv4 /24, IPv6 /48), la clase de cliente y si la retención de desaprovisionamiento masivo detuvo la solicitud. Los cuerpos de solicitud y respuesta, los valores de los atributos, la dirección IP completa, el User-Agent y el valor del token nunca se almacenan ni se devuelven.

Los registros se conservan durante el período de retención de registros de su plan (Free 7 días, Startup 14, Business 30, Enterprise 90). El orden es siempre de la más reciente a la más antigua; no existe el parámetro order. Los registros de un directorio eliminado siguen siendo legibles con GET /v1/logs?type=scim.request.

Solicitud

Campo Tipo Obligatorio Descripción
directory_id path sí ID del directorio SCIM (dir_…).
limit query no 1–100, por defecto 20.
after query no El cursor de list_metadata.after (registros más antiguos).
before query no El cursor de list_metadata.before (registros más recientes).
from query no Límite inferior inclusivo (RFC 3339).
to query no Límite superior exclusivo (RFC 3339).

No hay cuerpo de solicitud.

Respuesta

200 OK con una página de registros.

{
  "data": [
    {
      "id": "evt_01j9xp4q6r8s0t2v4w6x8y0z2b",
      "occurred_at": "2026-10-20T12:00:00Z",
      "outcome": "success",
      "organization_id": "org_01j9xk1m3n5p7q9r1s3t5v7w9x",
      "token_id": "dst_01j9xn2p4q6r8s0t2v4w6x8y0z",
      "method": "PATCH",
      "path_template": "PATCH /Users/{id}",
      "resource_type": "User",
      "resource_id": "dsu_01j9xq5r7s9t1v3w5x7y9z1a3c",
      "operation_summary": ["replace:active"],
      "ignored_attributes": [],
      "status": 200,
      "scim_type": null,
      "duration_ms": 12,
      "client_ip_prefix": "203.0.113.0/24",
      "client_class": "okta",
      "held": false,
      "request_id": "0192f5e0-0000-7000-8000-000000000001",
      "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

Errores

HTTP código Cuándo
400 invalid_cursor El cursor está mal formado o pertenece a otra solicitud.
400 range_outside_retention from es anterior al período de retención de su plan.
404 not_found El directorio no existe en este entorno.
422 validation_failed limit está fuera de rango, from o to no están en formato RFC 3339, to no es posterior a from, o se indicó order (unsupported).
401 unauthenticated La credencial falta, no es válida o ha sido revocada.
403 insufficient_permissions La credencial no tiene el permiso requerido.
429 rate_limited Se superó el límite de frecuencia; reintente después del período indicado en Retry-After.
503 service_unavailable La sincronización de directorios o la búsqueda de registros no están disponibles temporalmente o no están configuradas en este despliegue; reintente después del período indicado en Retry-After.

Ejemplo

curl -i "https://api.eu.keenauth.com/v1/directories/dir_01j9xm2n4p6q8r0s2t4v6w8y0z/provisioning-logs?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth directories provisioning-logs list dir_01j9xm2n4p6q8r0s2t4v6w8y0z --from 2026-10-01T00:00:00Z

Datos personales

Este endpoint contiene datos personales: usuarios del directorio (SCIM). Datos personales en las API de KeenAuth describe qué se almacena, cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.