---
title: "Sync User"
method: POST
path: "/api/auth/me"
tags: ["auth"]
---

# Sync User

`POST /api/auth/me`

## Request

- Base URL: `https://api.ncspeech.org` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ncspeech.org/api/auth/me`
- Auth: HTTP bearer

Sync authenticated user to the database.

Called by the frontend after login. In `firebase` mode it verifies the Firebase
ID token; in `dual`/`session` mode it bootstraps from the brand's session cookie
(link-or-create). No registration bonus. Response returns phoneNumber from the
users.phone_number column at the top level. `uiLanguage` is the stored profile
locale when the country offers it, otherwise null — not the instance fallback.

## Headers

- `X-Test-UID` string, nullable

## Request body

- SyncUserBody: Optional body for POST /me. In mock mode provides user data that production extracts from the verified Firebase ID token.
  - `email` string, nullable
  - `displayName` string, nullable
  - `authProvider` string

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ncspeech/apis/advanced-data-collector-api.md) - [All operations](https://skmtc.dev/ncspeech/apis/advanced-data-collector-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ncspeech/apis/advanced-data-collector-api/revisions/fec602f8df8c?raw)
