アプリケーションを更新する
PATCH /v1/applications/{application_id} · 権限 applications:write
JSONマージパッチ(application/merge-patch+json、RFC 7396)を使用してアプリケーションを更新します。送信したフィールドは変更され、nullはnullable フィールドをクリアし、配列は全体的に置き換えられます。If-Matchは必須です。なければリクエストは428で失敗し、古いバージョンなら412です。不変フィールドのkey、app_type、registration_source、owner_org_idは、異なる値を送信した場合、コードimmutableを含む422を返します。何も変更しないパッチはアプリケーションと版をそのまま保ちます。
リクエスト
ヘッダー: If-Match: "<version>" (必須)、Content-Type: application/merge-patch+json。
パス: application_id(app_…)。
Body: 作成ページに記載されている書き込み可能フィールドの任意のサブセット(key、name、app_type、…connection_ids)。nullはnullable フィールドをクリアします。配列はリスト全体を置き換えます。jwksはオブジェクトとして置き換えられます。読み取り専用フィールド(id、client_id、version、created_at、updated_at、last_token_issued_at、last_token_asn)は拒否されます。
レスポンス
200 OK と更新されたアプリケーション、および新しいETag。
エラー
| HTTP | code |
状況 |
|---|---|---|
| 401 | unauthenticated |
キーが見つからない、無効、またはアクティベーション解除されている。 |
| 403 | insufficient_permissions |
キーが必要な権限を持っていない。 |
| 404 | not_found |
この環境にアプリケーションが存在しない。 |
| 428 | precondition_required |
If-Matchヘッダーがない。 |
| 412 | precondition_failed |
If-Match内の版が古い。 |
| 422 | validation_failed |
フィールドが無効か、不変フィールドが変更された。 |
| 422 | policy_conflict |
allowed_first_factors に環境の最初のファクターのセットと共通の方法がありません。 |
| 400 | unknown_field |
パッチにスキーマに含まれないフィールド(idなどの読み取り専用フィールドを含む)がある。 |
| 415 | unsupported_media_type |
Content-Typeがapplication/merge-patch+jsonではない。 |
例
curl -X PATCH https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "1"' \
-d '{"name":"Portal v2","login_host":null}'