アプリケーションを一時停止

POST /v1/applications/{application_id}:suspend · 権限 applications:write

アプリケーションの status を suspended に設定します。以後、そのアプリケーションは新しいトークンを取得できません。認可、PAR、デバイス認可、トークンエンドポイント(リフレッシュと client_credentials を含む)、イントロスペクション、取り消しは、いずれもこのアプリケーションをクライアントとして拒否します。一時停止は、アプリケーションが既に保持しているものも終了させます。KeenAuth は、一時停止より前に開かれた有効なリフレッシュトークンファミリーを取り消し(理由 client_revoked)、その client_id に印を付けるため、イントロスペクションと userinfo は、その時点より前にこのアプリケーションに発行されたアクセストークンを拒否します。JWT の署名だけを検証するリソースサーバーは、有効期限までそのようなアクセストークンを受け入れ続けます。アプリケーションのクライアント資格情報は保持されるため、再開に新しいシークレットは不要です。リクエストにボディはありません(空または {})。既に一時停止中のアプリケーションを一時停止しても何も変わらず、同じバージョンの現在のアプリケーションを返します。この変更は管理監査ログに application.updated として書き込まれ、application_changed および application_status_changed イベントとして公開されます。

リクエスト

ヘッダー: If-Match: "<version>"(任意)。If-Match を付けると、変更はそのバージョンに対してのみ適用されます(それ以外は 412)。付けない場合は最新バージョンが使われ、別の書き込みが同時にアプリケーションを変更すると、リクエストは再試行されます。再試行を安全にするには、Idempotency-Key ヘッダーを送信してください。

パラメーター 位置 必須 説明
application_id path はい アプリケーション ID。接頭辞は app_。

レスポンス

200 OK とアプリケーション("status": "suspended")、およびその ETag を返します。

エラー

すべてのエラーは、安定した code を持つ application/problem+json 本文です。

HTTP code 発生条件
400 malformed_request, unknown_field 有効な JSON ではない、またはフィールドを持つ本文が送信された場合。
401 unauthenticated API キーがない、無効である、または取り消されている場合。
403 insufficient_permissions キーに applications:write 権限がない場合。
404 not_found この環境にアプリケーションが存在しない場合(または ID の形式が不正な場合)。
412 precondition_failed If-Match のバージョンが古い場合。
429 rate_limited レート制限を超えた場合。Retry-After に従ってください。
503 service_unavailable 依存先が一時的に利用できない場合。後で再試行してください。

例

curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg:suspend \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI: keenauth applications suspend app_6f8d0cjgbmf0gtn2rg6pscp3cg --yes