---
title: "Evaluate segments"
method: POST
path: "/v3/evaluation"
tags: ["Evaluation"]
---

# Evaluate segments

`POST /v3/evaluation`

Evaluates all segments against the AI Checks resolved from the given Content Group.

When no checks are associated with the Content Group, all segments are returned with an empty `results` array — no error is raised.

Requires **ADMIN** or **OWNER** IDM role.

## Headers

- `Content-Type` string, required

## Request body

- EvaluationV3Request — Request to evaluate translation segments using AI Checks resolved from a Content Group.
  - `contentGroupId` string, required — ID of the Content Group whose AI Checks are used for evaluation.
  - `segments` RequestSegmentV3[], required — Segments to evaluate. Each segment's `id` is required and must be unique within the request.
    - `id` string, required — Identifier for the segment. Required and must be unique within the request.
    - `source` string, required — Source text that was translated.
    - `target` string, required — Translated text to evaluate.
  - `sourceLocaleCode` string, required — Locale code compatible with Phrase locale format. Case-insensitive, supports both underscore and hyphen separators (e.g., `en_us`, `en-US`, `de_de`, `fr_fr`).
  - `targetLocaleCode` string, required — Locale code compatible with Phrase locale format. Case-insensitive, supports both underscore and hyphen separators (e.g., `en_us`, `en-US`, `de_de`, `fr_fr`).

## Response `200`

Evaluation completed successfully. Returns evaluated segments with per-check results.

- EvaluationV3Response — Evaluation results for the v3 endpoint.
  - `contentGroupId` string — ID of the Content Group whose AI Checks were used for evaluation.
  - `segments` EvaluatedSegmentV3[], required — Evaluated segments with all check results nested per segment.
    - `id` string, required — Segment identifier, matching the `id` supplied for this segment in the request.
    - `source` string, required — Source text.
    - `target` string, required — Translated text.
    - `results` CheckResultV3[], required — Results from all checks for this segment.
      - `type` 'AI_CHECK' | 'QA_CHECK', required — Discriminator for the type of check that produced this result.
      - `ruleUid` string — UID of the rule that produced this result.
      - `evaluation` CheckEvaluationV3, required — Evaluation result for a v3 check. `isValid` indicates whether the segment passed, `explanation` provides the reasoning. When `hasError` is true, the LLM call failed.
        - `isValid` boolean — Whether the segment passed this check.
        - `explanation` string — Reasoning from the check explaining the evaluation result.
        - `hasError` boolean — True when the check could not produce a result (LLM failure).
        - `errorMessage` string — Error description when hasError is true.

## Other responses

- `400` — Bad Request — missing required fields, a segment is missing `id`, or segment `id` values are not unique within the request.
- `401` — Authentication failed or credentials not provided.
- `403` — Insufficient permissions. This operation requires the ADMIN or OWNER IDM role.
- `503` — Service Unavailable — evaluation was interrupted; retry the request.
- `default` — An error occurred.

---

[API](https://skmtc.net/phrase/apis/control-hub-service.md) · [All operations](https://skmtc.net/phrase/apis/control-hub-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phrase/control-hub-service/revisions/98ecac7ba2bf/schema)
