
# ディレクトリのプロビジョニングログの一覧

`GET /v1/directories/{directory_id}/provisioning-logs` · 権限 `directories:read`

SCIM ディレクトリのプロビジョニングログを、新しいものから順に一覧表示します。ID プロバイダが送信した認証済みの SCIM リクエストは、それぞれ 1 件のレコードになります。レコードには、メソッド、パステンプレート（実際の ID がパスに含まれることはありません）、リソースタイプと ID、値を含まない操作の概要、無視された属性名、HTTP ステータス、`scim_type`、処理時間、クライアントアドレスのプレフィックス（IPv4 は /24、IPv6 は /48）、クライアントの分類、および一括デプロビジョニング保留によってリクエストが停止されたかどうかが含まれます。リクエストボディとレスポンスボディ、属性の値、完全な IP アドレス、User-Agent、トークンの値は保存されず、返されることもありません。

レコードはプランのログ保持期間の間保存されます（Free は 7 日、Startup は 14 日、Business は 30 日、Enterprise は 90 日）。順序は常に新しいものから古いものへです。`order` パラメータはありません。削除されたディレクトリのレコードは、`GET /v1/logs?type=scim.request` で引き続き読み取れます。

## リクエスト

| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
| `directory_id` | path | はい | SCIM ディレクトリ ID（`dir_…`）。 |
| `limit` | query | いいえ | 1〜100、既定値は 20。 |
| `after` | query | いいえ | `list_metadata.after` のカーソル（より古いレコード）。 |
| `before` | query | いいえ | `list_metadata.before` のカーソル（より新しいレコード）。 |
| `from` | query | いいえ | 下限（この値を含む、RFC 3339）。 |
| `to` | query | いいえ | 上限（この値を含まない、RFC 3339）。 |

リクエストボディはありません。

## レスポンス

`200 OK` とともに、レコードのページを返します。

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

## エラー

| HTTP | code | 発生条件 |
|---|---|---|
| 400 | `invalid_cursor` | カーソルの形式が不正であるか、別のリクエストに属しています。 |
| 400 | `range_outside_retention` | `from` がプランの保持期間より前の日時です。 |
| 404 | `not_found` | このenvironmentにディレクトリが存在しません。 |
| 422 | `validation_failed` | `limit` が範囲外である、`from` または `to` が RFC 3339 形式ではない、`to` が `from` より後ではない、または `order` が指定されています（`unsupported`）。 |
| 401 | `unauthenticated` | 認証情報が見つからない、無効である、または取り消されています。 |
| 403 | `insufficient_permissions` | 認証情報に必要な権限がありません。 |
| 429 | `rate_limited` | レート制限を超えました。`Retry-After` の期間を待ってから再試行してください。 |
| 503 | `service_unavailable` | ディレクトリ同期またはログ検索が一時的に利用できないか、このデプロイメントで設定されていません。`Retry-After` の期間を待ってから再試行してください。 |

## 例

```bash
curl -i "https://api.eu.keenauth.com/v1/directories/dir_01j9xm2n4p6q8r0s2t4v6w8y0z/provisioning-logs?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

```bash
keenauth directories provisioning-logs list dir_01j9xm2n4p6q8r0s2t4v6w8y0z --from 2026-10-01T00:00:00Z
```

## 個人データ

このエンドポイントは個人データを扱います：ディレクトリ（SCIM）のユーザーです。[KeenAuth API における個人データ](/docs/policies/personal-data)では、保存される内容、保存期間、削除方法について説明しています。どのフィールドにも、特別な種類の個人データ（健康、生体情報、宗教、政治的意見、性的指向）を送信しないでください。
