---
title: "Set Ui Language"
method: PUT
path: "/users/ui-language"
tags: ["users", "users"]
---

# Set Ui Language

`PUT /users/ui-language`

Persist the app UI language so emails and notifications can follow it.

profile_data['ui_language'] is read by five i18n consumers (notification,
email, booking, school enrolment, scam-removal) but until 2026-08-25 was
written by NOTHING, so every email fell back to English. The signup path
now writes it once; this keeps it current when the user switches language
in the app (LanguageContext calls it fire-and-forget).

A dedicated endpoint rather than a key on the big profile PUT on purpose:
that handler ignores unknown fields silently, which is exactly how the
/privacy-settings email toggles became a no-op.

## Headers

- `authorization` string, nullable

## Request body

- object

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored.md) · [All operations](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fluentea/aurqa-language-learning-platform-refactored/revisions/78f314acd8bf/schema)
