接続のリビジョンを一覧表示

GET /v1/connections/{connection_id}/revisions · 権限 connections:read

エンタープライズ接続(SAML または OIDC)のリビジョンを、新しいものから順に一覧表示します。保留中のドラフト(最大 1 件)と、過去 90 日以内に公開または破棄されたリビジョンが含まれます。

有効な接続では、セキュリティ上重要な変更はすぐには適用されません。代わりにドラフトリビジョンになり、ドラフトをテストして公開するまで、有効な構成はそのまま維持されます。

ドラフトは、接続をテストし、その revision_id を使ってテストしてから、公開してください。新しいドラフトを作成すると、以前のドラフトは破棄されます(discard_reason: superseded)。

リビジョンに表示されるのは、新しい機密ではない値(changes)のみです。新しい OIDC クライアントシークレットは client_secret_change(keep、replace、clear)としてのみ表示されます。シークレットとその末尾の文字は返されません。リビジョンを作成または決定したユーザーは、ここではなく管理の監査ログ(connection.revision_created、connection.revision_published)に記録されます。

リクエスト

フィールド 種類 必須 説明
connection_id パス はい エンタープライズ接続 ID(conn_…)。
limit クエリ いいえ ページサイズ(1〜100、既定値 20)。
after クエリ いいえ list_metadata.after のカーソル。カーソルは、それを生成した接続に対してのみ有効です。

リストは前方向にのみページングされます。before と order はサポートされていません(422)。

レスポンス

200 OK:

{
  "data": [
    {
      "id": "connrev_01j9xr8c2d4e6f8g0h2j4k6m8n",
      "connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
      "protocol": "saml",
      "kind": "sp_host",
      "status": "draft",
      "discard_reason": null,
      "created_at": "2026-10-28T10:00:00Z",
      "decided_at": null,
      "purge_after": null,
      "superseded_revision_id": null,
      "changes": {
        "sp_host": "login.example.com",
        "idp_entity_id": null,
        "idp_sso_url": null,
        "idp_slo_url": null,
        "certificate_fingerprints": [],
        "mfa_authn_context_values": null,
        "issuer": null,
        "client_id": null,
        "client_auth_method": null,
        "provider_profile": null,
        "client_secret_change": null
      },
      "latest_test": {
        "test_id": "conntest_01j9xr4a6b8c0d2e4f6g8h0j2k",
        "status": "passed",
        "failure_reason": null,
        "started_at": "2026-10-28T10:05:00Z",
        "completed_at": "2026-10-28T10:06:00Z"
      }
    }
  ],
  "list_metadata": { "before": null, "after": null }
}
フィールド 説明
kind configuration(ID プロバイダまたは OIDC クライアントの変更)または sp_host(SP ホストの移行)。
status draft(テストと公開を待機中)、published(公開済み)、または discarded(破棄済み)。
decided_at / purge_after リビジョンが公開または破棄された日時、および削除される日時(90 日後)。ドラフトの場合は null。
changes 新しい値。リビジョンで変更されないフィールドは null。
latest_test このリビジョンの直近 24 時間以内の最新のテストサインイン、または null。公開には passed のテストが必要です。

エラー

HTTP code 発生条件
400 invalid_cursor カーソルの形式が不正であるか、別の接続またはクエリに属しています。
401 unauthenticated 認証情報が存在しないか、無効または取り消されています。
403 insufficient_permissions 認証情報に connections:read 権限がありません。
404 not_found 接続がこの環境に存在しないか、エンタープライズ接続ではありません。
422 validation_failed クエリパラメータが無効です(例: limit が 100 を超えている、または before を指定している)。
429 rate_limited レート制限を超えました。Retry-After の期間を待ってから再試行してください。
503 service_unavailable 依存先が一時的に利用できません。Retry-After の期間を待ってから再試行してください。

例

curl "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/revisions?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth connections revisions list conn_01j9xp6q0r1s5t7v9w1x3y5z7b --limit 20