メタデータを更新する

PATCH /fapi/v1/me/metadata · 環境のサインインホストから呼び出し

認証済みユーザーの user_metadata に RFC 7396 のマージパッチを適用します。app_metadata はここからは書き込めません。結果は最大 16 KiB、深さ 5、トップレベルのキー 100 個までです。認証済みユーザーの __Host-idp_session Cookie が必要です。直近の再認証は必要ありません。別オリジンのファーストパーティアプリは、代わりにフロント API アクセストークン(DPoP 証明付きの Authorization: DPoP <token>。フロント API アクセストークン を参照)を送信できます。

リクエスト

ヘッダー:

ヘッダー 必須 説明
Idp-Client はい SDK の識別子です。
Origin はい https://<sign-in host> と完全に一致している必要があります。
If-Match いいえ 任意です。以前のレスポンスの ETag(または *)を指定します。変更は、プロフィールがまだそのバージョンである場合にのみ行われます。

ボディ(application/merge-patch+json または application/json): マージパッチ本体となる JSON オブジェクトです。値が null のキーは削除されます。ネストしたオブジェクトはマージされます。

{
  "theme": null,
  "preferences": {
    "newsletter": false
  }
}

レスポンス

200 OK と、更新後のプロフィール(GET /fapi/v1/me と同じフィールド)、および新しい ETag を返します。

エラー

ステータス コード 発生条件
400 malformed_request ボディが JSON オブジェクトではない、または If-Match ヘッダーの形式が不正です。
401 unauthenticated 有効なセッション Cookie がありません。
403 origin_not_allowed Origin がない、または正しくありません。
404 not_found アカウントを読み取れません(ブロックされている、削除中であるなど)。
412 precondition_failed If-Match が現在のバージョンと一致しません。何も変更されていません。
413 payload_too_large ボディが 16 KiB を超えています。
415 unsupported_media_type サポートされていない Content-Type です。
422 validation_failed パッチが空である、または結果がいずれかの上限を超えています(too_large、too_many_keys。ポインターはボディのルートです)。
503 service_unavailable ユーザーディレクトリが一時的に利用できません。Retry-After の秒数の後に再試行してください。

例

curl -X PATCH https://example.keenauth.app/fapi/v1/me/metadata \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/merge-patch+json" \
  -b cookies.txt \
  -d '{"theme":null}'

個人データ

このエンドポイントは個人データ(エンドユーザーのプロフィール)を扱います。保存される内容、保持期間、削除方法については、KeenAuth API における個人データ を参照してください。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。