
# Textüberschreibungen festlegen

`PUT /v1/branding/texts/{screen}/{locale}` · Berechtigung `branding:write`

Schreibt Textüberschreibungen für einen Bildschirm und eine Sprache; Schlüssel im Body werden hinzugefügt oder ersetzt, andere Schlüssel bleiben erhalten. Nur Schlüssel aus dem integrierten Katalog können überschrieben werden, und ein Wert muss die `{{ placeholders }}` des Katalogtextes beibehalten. Steuerzeichen und bidirektionale Steuerzeichen werden abgelehnt. Sicherheitstexte können nicht überschrieben werden: die Zustimmungsseite, die Bestätigung für Gerät und Abmelden, die Warnung zu Wiederherstellungscodes und das Vorschau-Banner. Die Änderung wird beim Veröffentlichen wirksam.

## Anfrage

| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `screen` | path | ja | Bildschirm der gehosteten Seite (z. B. `login`, `authorize`). |
| `locale` | path | ja | Unterstützte Sprache (z. B. `en`, `tr`). |
| `application_id` | query | nein | Anwendungsbereich (`app_…`). Ohne diesen und `org_id` wird der Umgebungsbereich verwendet. |
| `org_id` | query | nein | Organisationsbereich (`org_…`). Nicht zusammen mit `application_id` kombinierbar. |
| `texts` | object | ja | Schlüssel → Wert, 1–500 Schlüssel, jeder Wert 1–1000 Zeichen. |

## Antwort

`200 OK` mit jeder Überschreibung des Bereichs, Bildschirms und der Sprache.

```json
{"screen": "login", "locale": "tr", "texts": {"title": "Hoş geldiniz"}}
```

## Fehler

| HTTP | code | Wann |
|---|---|---|
| 400 | `unknown_field` | Der Body enthält ein unbekanntes Feld oder ist kein JSON-Objekt. |
| 404 | `not_found` | `application_id` oder `org_id` ist fehlerhaft, oder die Anwendung existiert in dieser Umgebung nicht. |
| 422 | `validation_failed` | `texts` fehlt oder ist leer, ein Schlüssel ist unbekannt (`unknown_text_key`), ein Platzhalter fehlt (`placeholder_mismatch`), die Sprache wird nicht unterstützt oder ein Wert ist ungültig; `pointer` ist `/texts/<key>`. Sowohl `application_id` als auch `org_id` wurden angegeben (`mutually_exclusive`), oder einer der beiden wurde wiederholt (`repeated`). |
| 401 | `unauthenticated` | Die Anmeldedaten fehlen, sind ungültig oder wurden widerrufen. |
| 403 | `insufficient_permissions` | Den Anmeldedaten fehlt die erforderliche Berechtigung. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; versuchen Sie es nach der Zeit aus `Retry-After` erneut. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; versuchen Sie es nach der Zeit aus `Retry-After` erneut. |

## Beispiel

```bash
curl -X PUT "https://api.eu.keenauth.com/v1/branding/texts/login/tr" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"texts":{"title":"Hoş geldiniz"}}'
```
