---
title: "Validate Translation"
method: POST
path: "/v1/projects/{project_id}/glossary/validate"
tags: ["glossary"]
---

# Validate Translation

`POST /v1/projects/{project_id}/glossary/validate`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/glossary/validate`
- Auth: none declared

Stateless check of a translation against the project glossary + ICU
placeholder parity + length. Returns structured violations (empty = valid).
Read-only; designed for inline editor calls.

## Path parameters

- `project_id` string, required

## Request body

- GlossaryValidateIn
  - `language_code` string, required: target language of the translation being checked
  - `source_value` string
  - `target_value` string
  - `max_length` integer, nullable: optional length cap (e.g. the key's max_length)

## Response `200`

Successful Response

- GlossaryValidateOut
  - `valid` boolean, required
  - `violations` AppRoutesGlossaryGlossaryViolation[], required
    - `code` string, required
    - `message` string, required
    - `term` string, nullable
    - `expected` string, nullable
    - `detail` object, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sonenta/apis/sonenta-api.md) · [All operations](https://skmtc.dev/sonenta/apis/sonenta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sonenta/apis/sonenta-api/revisions/f853ea49fb05?raw)
