Get your profile
GET /fapi/v1/me · called from the environment's sign-in host
Returns the authenticated user's own profile: the seven fields the user can change and user_metadata. Contact details, verification state, app_metadata and administrative fields are not returned. The ETag header is the profile version; send it in If-Match to make a change conditional. Requires the authenticated user's __Host-idp_session cookie; if the cookie is missing, expired, or revoked, returns 401 unauthenticated. A first-party app on another origin can instead send its front API access token (Authorization: DPoP <token> with a DPoP proof; see Front API access token). No recent re-verification is needed. The answer is personal data and is never cached.
Request
Headers:
| Header | Required | Description |
|---|---|---|
Idp-Client |
yes | SDK identifier. |
No body.
Response
200 OK with an ETag header (the profile version, for example "8"):
| Field | Type | Description |
|---|---|---|
id |
string | User identifier (usr_…), the same as the tokens' sub. |
given_name |
string | Given name. |
family_name |
string | Family name. |
name |
string | Full name. |
picture |
string | Picture URL (https). |
locale |
string | Language (BCP 47 tag). |
zoneinfo |
string | Time zone (IANA name). |
username |
string | Username. |
user_metadata |
object | The user's own metadata; always a JSON object ({} when empty). |
Fields without a value are absent from the answer.
{
"id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9w",
"given_name": "Ada",
"family_name": "Lovelace",
"name": "Ada Lovelace",
"locale": "en-GB",
"zoneinfo": "Europe/London",
"username": "ada",
"user_metadata": {
"theme": "dark"
}
}
Errors
| Status | Code | When |
|---|---|---|
| 401 | unauthenticated |
No valid session cookie. |
| 404 | not_found |
The account cannot be read (for example blocked or being deleted). |
| 503 | service_unavailable |
The user directory is temporarily unavailable; retry after Retry-After seconds. |
Example
curl https://example.keenauth.app/fapi/v1/me \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-b cookies.txt
Personal data
This endpoint carries personal data: end-user profile. Personal data in the KeenAuth APIs describes what is stored, how long it is kept and how it is deleted. Do not send special categories of personal data (health, biometric data, religion, political opinions, sexual orientation) in any field.