Definir reemplazos de textos
PUT /v1/branding/texts/{screen}/{locale} · permiso branding:write
Escribe los reemplazos de textos de una pantalla y un idioma; las claves del cuerpo se añaden o reemplazan, y las demás claves se conservan. Solo se pueden reemplazar las claves del catálogo integrado, y un valor debe conservar los {{ placeholders }} del texto del catálogo. Se rechazan los caracteres de control y los caracteres de control bidireccionales. Los textos de seguridad no pueden reemplazarse: la pantalla de consentimiento, la confirmación de dispositivo y de cierre de sesión, la advertencia del código de recuperación y el banner de vista previa. Surte efecto al publicar.
Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
screen |
ruta | sí | Pantalla de la página alojada (p. ej., login, authorize). |
locale |
ruta | sí | Idioma compatible (p. ej., en, tr). |
application_id |
query | no | Ámbito de la aplicación (app_…). Sin él ni org_id, se usa el ámbito del entorno. |
org_id |
query | no | Ámbito de la organización (org_…). No puede combinarse con application_id. |
texts |
objeto | sí | Clave → valor, de 1 a 500 claves, cada valor de 1 a 1000 caracteres. |
Respuesta
200 OK con todos los reemplazos del ámbito, la pantalla y el idioma.
{"screen": "login", "locale": "tr", "texts": {"title": "Hoş geldiniz"}}
Errores
| HTTP | code | Cuándo |
|---|---|---|
| 400 | unknown_field |
El cuerpo tiene un campo desconocido o no es un objeto JSON. |
| 404 | not_found |
El application_id o el org_id tienen un formato incorrecto, o la aplicación no existe en este entorno. |
| 422 | validation_failed |
texts falta o está vacío, una clave es desconocida (unknown_text_key), falta un marcador de posición (placeholder_mismatch), el idioma no es compatible o un valor no es válido; pointer es /texts/<key>. Se enviaron application_id y org_id a la vez (mutually_exclusive), o se repitió uno de ellos (repeated). |
| 401 | unauthenticated |
La credencial falta, no es válida o está revocada. |
| 403 | insufficient_permissions |
La credencial no tiene el permiso requerido. |
| 429 | rate_limited |
Se superó el límite de frecuencia; reintente después del periodo indicado en Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente después del periodo indicado en Retry-After. |
Ejemplo
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"}}'