---
title: "Read the signed-in user's profile"
method: GET
path: "/v1/account/profile"
tags: ["account"]
---

# Read the signed-in user's profile

`GET /v1/account/profile`

## Request

- Base URL: `https://api.getmyhotels.com`
- URL: `https://api.getmyhotels.com/v1/account/profile`
- Auth: HTTP bearer

Runs `user.getProfile`. Returns `{ user, profile }`: the Better Auth `user` row (id, name, email, emailVerified, image, role, timestamps) plus the `user_profile` row, which is `null` until the customer has saved something. The bearer session payload carries the user half only, so this is the sole way to read the stored phone, date of birth, nationality, preferred currency/language/country and address that the settings screen and the checkout guest defaults render. Read `user.name` from here rather than from the session: this is our copy, so it is populated once `PATCH /v1/account/profile` has run even when the identity provider never gave us one.

## Response `200`

Success

- unknown

## Other responses

- `400`: Request validation failed or the router rejected the input
- `401`: Missing or invalid bearer session token
- `426`: Reported X-GMH-App-Version is below the supported minimum — the app must update
- `500`: Unexpected server error (opaque; details stay in logs)

---

[API](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api.md) · [All operations](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api/revisions/cba24a9c13f0?raw)
