Lister les journaux de provisionnement du répertoire

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

Liste le journal de provisionnement d'un répertoire SCIM, du plus récent au plus ancien. Chaque requête SCIM authentifiée envoyée par le fournisseur d'identité constitue un enregistrement : méthode, modèle de chemin (l'ID réel ne figure jamais dans le chemin), type et ID de la ressource, résumé des opérations sans valeurs, noms des attributs ignorés, code HTTP, scim_type, durée, préfixe de l'adresse du client (IPv4 /24, IPv6 /48), classe du client et indication de savoir si le blocage de désactivation en masse a arrêté la requête. Les corps de requête et de réponse, les valeurs des attributs, l'adresse IP complète, le User-Agent et la valeur du jeton ne sont jamais stockés ni renvoyés.

Les enregistrements sont conservés pendant la durée de rétention des journaux de votre forfait (Free 7 jours, Startup 14, Business 30, Enterprise 90). L'ordre est toujours du plus récent au plus ancien ; il n'existe pas de paramètre order. Les enregistrements d'un répertoire supprimé restent consultables avec GET /v1/logs?type=scim.request.

Requête

Champ Type Obligatoire Description
directory_id path oui ID du répertoire SCIM (dir_…).
limit query non 1–100, valeur par défaut 20.
after query non Le curseur issu de list_metadata.after (enregistrements plus anciens).
before query non Le curseur issu de list_metadata.before (enregistrements plus récents).
from query non Borne inférieure incluse (RFC 3339).
to query non Borne supérieure exclue (RFC 3339).

Il n'y a pas de corps de requête.

Réponse

200 OK avec une page d'enregistrements.

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

Erreurs

HTTP code Quand
400 invalid_cursor Le curseur est mal formé ou appartient à une autre requête.
400 range_outside_retention from est antérieur à la durée de rétention de votre forfait.
404 not_found Le répertoire n'existe pas dans cet environnement.
422 validation_failed limit est hors plage, from ou to n'est pas au format RFC 3339, to n'est pas postérieur à from, ou order a été fourni (unsupported).
401 unauthenticated L'identifiant est absent, invalide ou révoqué.
403 insufficient_permissions L'identifiant ne dispose pas de l'autorisation requise.
429 rate_limited La limite de débit a été dépassée ; réessayez après la période indiquée par Retry-After.
503 service_unavailable La synchronisation des répertoires ou la recherche dans les journaux est temporairement indisponible ou non configurée dans ce déploiement ; réessayez après la période indiquée par Retry-After.

Exemple

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

Données personnelles

Ce point de terminaison traite des données personnelles : des utilisateurs de répertoire (SCIM). Données personnelles dans les API KeenAuth décrit ce qui est stocké, combien de temps ces données sont conservées et comment elles sont supprimées. N'envoyez de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.