
# 텍스트 재정의 설정

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

하나의 화면과 로케일에 대한 텍스트 재정의를 기록합니다. 본문의 키는 추가되거나 교체되며, 다른 키는 유지됩니다. 기본 제공 카탈로그의 키만 재정의할 수 있으며, 값은 카탈로그 텍스트의 `{{ placeholders }}`를 그대로 유지해야 합니다. 제어 문자와 양방향 제어 문자는 거부됩니다. 보안 텍스트는 재정의할 수 없습니다. 여기에는 동의 화면, 기기 및 로그아웃 확인, 복구 코드 경고, 미리 보기 배너가 포함됩니다. 게시 시 적용됩니다.

## 요청

| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| `screen` | path | 예 | 호스팅 페이지 화면(예: `login`, `authorize`). |
| `locale` | path | 예 | 지원되는 로케일(예: `en`, `tr`). |
| `application_id` | query | 아니요 | 애플리케이션 범위(`app_…`). 이 값과 `org_id`가 모두 없으면 환경 범위가 사용됩니다. |
| `org_id` | query | 아니요 | 조직 범위(`org_…`). `application_id`와 함께 사용할 수 없습니다. |
| `texts` | object | 예 | 키 → 값, 1–500개 키, 각 값은 1–1000자입니다. |

## 응답

`200 OK`와 함께 해당 범위, 화면 및 로케일의 모든 재정의가 반환됩니다.

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

## 오류

| HTTP | code | 발생 조건 |
|---|---|---|
| 400 | `unknown_field` | 본문에 알 수 없는 필드가 있거나 JSON 객체가 아닙니다. |
| 404 | `not_found` | `application_id` 또는 `org_id` 형식이 잘못되었거나, 이 환경에 애플리케이션이 존재하지 않습니다. |
| 422 | `validation_failed` | `texts`가 없거나 비어 있거나, 키가 알 수 없는 키(`unknown_text_key`)이거나, 플레이스홀더가 누락(`placeholder_mismatch`)되었거나, 로케일이 지원되지 않거나, 값이 잘못되었습니다. `pointer`는 `/texts/<key>`입니다. `application_id`와 `org_id`를 모두 지정했거나(`mutually_exclusive`), 하나를 반복해서 지정했습니다(`repeated`). |
| 401 | `unauthenticated` | 자격 증명이 없거나, 잘못되었거나, 폐기되었습니다. |
| 403 | `insufficient_permissions` | 자격 증명에 필요한 권한이 없습니다. |
| 429 | `rate_limited` | 요청 한도를 초과했습니다. `Retry-After` 기간 후 다시 시도하십시오. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. `Retry-After` 기간 후 다시 시도하십시오. |

## 예시

```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"}}'
```
