接続のリビジョンを公開する
POST /v1/connections/{connection_id}/revisions/{revision_id}:publish · 権限 connections:write
下書きのリビジョンを、エンタープライズ接続の有効な設定にします。1 回の操作で、リビジョンの内容が現在の有効な設定を置き換えます。
- SAML: ID プロバイダのエンティティ ID、SSO および SLO の URL、リビジョンの署名証明書
- OIDC: クライアントのフィールド、およびリビジョンに含まれている場合は新しいクライアントシークレット
- SP ホストの移行: SP ホストと SP の URL。移行前のホストは、さらに 30 日間応答し続けたあと、
404を返します。
リビジョンには、過去 24 時間以内にそのリビジョンでサインインテストに成功していることが必要です。接続をテストする で revision_id を指定してテストを開始し、ブラウザでテストを完了してください。現在有効な設定をテストしても、この条件は満たされません。
すでに公開済みのリビジョンを公開しようとした場合は、何も書き込まれず、already_published: true を含む 200 が返されます。同時に 2 件の公開要求が行われた場合、書き込まれるのはそのうち 1 件だけです。この公開は connection.revision_published として監査されます。
リクエストボディは不要です (送らないか {} を送ります)。If-Match も不要です。リビジョンにはバージョンがないためです。下書きを作成したあとに有効な設定が変更されていた場合、公開は拒否されるので、新しい下書きを作成してください。
リクエスト
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
connection_id |
path | はい | エンタープライズ接続の ID (conn_…)。 |
revision_id |
path | はい | リビジョンを一覧表示する で取得できるリビジョン ID (connrev_…)。 |
Idempotency-Key |
header | いいえ | リクエストを再送しても安全にするための任意のキー (16〜64 文字)。 |
レスポンス
200 OK:
{
"revision": {
"id": "connrev_01j9xr8c2d4e6f8g0h2j4k6m8n",
"connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
"protocol": "saml",
"kind": "sp_host",
"status": "published",
"discard_reason": null,
"created_at": "2026-10-28T10:00:00Z",
"decided_at": "2026-10-28T11:00:00Z",
"purge_after": "2027-01-26T11:00:00Z",
"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"
}
},
"already_published": false
}
エラー
| HTTP | code | 発生条件 |
|---|---|---|
| 400 | unknown_field |
ボディが空でも {} でもない場合。 |
| 401 | unauthenticated |
認証情報が指定されていない、無効、または取り消されている場合。 |
| 403 | insufficient_permissions |
認証情報に connections:write がない場合。 |
| 404 | not_found |
接続またはリビジョンがこの環境に存在しない場合、またはリビジョンが別の接続に属している場合。 |
| 409 | conflict |
前提条件を満たしていません。detail に理由が示されます。リビジョンが破棄された場合、過去 24 時間以内に成功したテストがない場合、下書き作成後に接続が変更された場合 (新しい下書きを作成してください)、前回の SP ホスト移行の 30 日間の期間がまだ残っている場合、新しい SP ホストがこの環境のホストではなくなった場合、接続で有効な署名証明書が 3 件を超える場合。 |
| 429 | rate_limited |
レート制限を超えた場合。Retry-After の期間が経過してから再試行してください。 |
| 503 | service_unavailable |
依存先が一時的に利用できない場合。Retry-After の期間が経過してから再試行してください。 |
例
curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/revisions/connrev_01j9xr8c2d4e6f8g0h2j4k6m8n:publish" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)"
keenauth connections revisions publish conn_01j9xp6q0r1s5t7v9w1x3y5z7b connrev_01j9xr8c2d4e6f8g0h2j4k6m8n --yes