---
title: "Get Character Language Hardening"
method: GET
path: "/character/language-hardening"
tags: ["app"]
---

# Get Character Language Hardening

`GET /character/language-hardening`

Report the character's language-hardening mode. Reads only.

Exists because a caller that can only SET cannot ask "what is it now?"
without choosing a value to write. A client that reads by writing its
guess overwrites the author's choice every time the screen is opened —
measured on dev19, where opening Core AI Settings put `off` back to
`default` on every page load, so the toggle could never stay off.

## Query parameters

- `character_id` string, uuid, required

## Headers

- `X-API-Key` string, nullable
- `API-AUTH-TOKEN` string, nullable

## Response `200`

Successful Response

- LanguageHardeningResponse — The setting AND the prompt text it currently resolves to. `resolved_block` is the exact string appended to the system prompt for this character. It is returned so a client can show the author what the backend actually sends instead of paraphrasing it — if the two ever disagree, the displayed text stops being trustworthy.
  - `character_id` string, uuid, required
  - `mode` string, required
  - `resolved_block` string, required
  - `language_codes` string[], required
  - `has_custom_text` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/convai/apis/fastapi.md) · [All operations](https://skmtc.net/convai/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/convai/fastapi/revisions/efd9e4bc659f/schema)
