メタデータを更新する
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 における個人データ を参照してください。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。