
# 自分のプロフィールを取得

`GET /fapi/v1/me` · 環境のサインインホストから呼び出します

サインイン中のユーザー自身のプロフィールを返します。ユーザーが変更できる 7 つのフィールドと `user_metadata` が含まれます。連絡先の詳細、認証状態、`app_metadata`、管理用フィールドは返されません。`ETag` ヘッダーはプロフィールのバージョンです。変更を条件付きにするには、それを `If-Match` で送信してください。ユーザーの `__Host-idp_session` Cookie が必要です。Cookie がない、期限切れ、または取り消されている場合は、`401 unauthenticated` を返します。別のオリジンにある自社アプリは、代わりにフロント API のアクセストークン（DPoP 証明付きの `Authorization: DPoP <token>`。[フロント API アクセストークン](/docs/api/fapi/front-api-token) を参照）を送信できます。最近の再検証は不要です。この応答は個人データであり、キャッシュされることはありません。

## リクエスト

ヘッダー:

| ヘッダー | 必須 | 説明 |
| --- | --- | --- |
| `Idp-Client` | はい | SDK の識別子です。 |

本文はありません。

## レスポンス

`200 OK` と `ETag` ヘッダー（プロフィールのバージョン。例: `"8"`）を返します:

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `id` | string | ユーザー識別子（`usr_…`）。トークンの `sub` と同じです。 |
| `given_name` | string | 名。 |
| `family_name` | string | 姓。 |
| `name` | string | 氏名。 |
| `picture` | string | 画像の URL（`https`）。 |
| `locale` | string | 言語（BCP 47 タグ）。 |
| `zoneinfo` | string | タイムゾーン（IANA 名）。 |
| `username` | string | ユーザー名。 |
| `user_metadata` | object | ユーザー自身のメタデータ。常に JSON オブジェクトです（空の場合は `{}`）。 |

値のないフィールドは応答に含まれません。

```json
{
  "id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9w",
  "given_name": "Ada",
  "family_name": "Lovelace",
  "name": "Ada Lovelace",
  "locale": "en-GB",
  "zoneinfo": "Europe/London",
  "username": "ada",
  "user_metadata": {
    "theme": "dark"
  }
}
```

## エラー

| ステータス | コード | 条件 |
| --- | --- | --- |
| 401 | `unauthenticated` | 有効なセッション Cookie がありません。 |
| 404 | `not_found` | アカウントを読み取れません（ブロックされている、または削除処理中など）。 |
| 503 | `service_unavailable` | ユーザーディレクトリが一時的に利用できません。`Retry-After` 秒後に再試行してください。 |

## 例

```bash
curl https://example.keenauth.app/fapi/v1/me \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt
```

## 個人データ

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