アプリケーションを更新する

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}'