アプリケーションを一時停止
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