> ## Documentation Index
> Fetch the complete documentation index at: https://developers.phrase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Quality Profile by Content Group

> Returns the Quality Profile for the given Content Group, listing all active rules that have AI check support enabled. The profile is resolved dynamically to reflect the current state of the linked Content Group.

Optionally filter by locale to retrieve only rules that apply to a specific language.



## OpenAPI

````yaml /openapi/phrase-quality-evaluator.json get /v3/qualityProfiles/{contentGroupId}
openapi: 3.1.2
info:
  title: Quality Evaluator API
  description: >
    The Quality Evaluator API enables you to evaluate the quality of translated
    segments using AI-powered checks.

    Create custom AI Checks with specific quality requirements, organize them
    into Quality Profiles, and run

    evaluations to identify translation issues automatically.
  version: 1.0.0
  termsOfService: https://phrase.com/terms/
  contact:
    name: Phrase Support
    url: https://support.phrase.com
servers:
  - url: https://eu.phrase.com/quality-evaluator
    description: Production EU
  - url: https://us.phrase.com/quality-evaluator
    description: Production US
security:
  - bearerAuth: []
tags:
  - name: AI Checks
    description: Create and manage AI Checks with custom quality requirements.
  - name: Analytics
    description: Retrieve aggregated evaluation analytics.
  - name: Evaluation
    description: Evaluate translation quality using AI Checks.
  - name: Quality Profiles
    description: Organize AI Checks into reusable Quality Profiles.
paths:
  /v3/qualityProfiles/{contentGroupId}:
    parameters:
      - name: contentGroupId
        in: path
        required: true
        description: ID of the Content Group whose Quality Profile is to be retrieved.
        schema:
          type: string
          example: cg-abc123
      - name: locale
        in: query
        required: false
        description: >-
          When provided, only rules that apply to the given locale are returned.
          When absent, all rules for the Content Group are returned regardless
          of locale restrictions.
        schema:
          $ref: '#/components/schemas/LocaleCode'
    get:
      tags:
        - Quality Profiles
      summary: Get Quality Profile by Content Group
      description: >-
        Returns the Quality Profile for the given Content Group, listing all
        active rules that have AI check support enabled. The profile is resolved
        dynamically to reflect the current state of the linked Content Group.


        Optionally filter by locale to retrieve only rules that apply to a
        specific language.
      operationId: getQualityProfileV3
      responses:
        '200':
          description: Quality Profile resolved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualityProfileV3Response'
              example:
                rules:
                  - id: rule-abc123
                    text: The translation must not use passive voice.
                    locales: []
                  - id: rule-def456
                    text: The translation must use formal language.
                    locales:
                      - de_de
                      - de_at
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    LocaleCode:
      type: string
      description: >-
        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`).
      example: en_us
    QualityProfileV3Response:
      type: object
      description: >-
        Quality Profile resolved from a Content Group — a list of active
        AI-check-enabled rules.
      properties:
        rules:
          type: array
          description: >-
            Active rules with AI check support enabled for the given Content
            Group.
          items:
            $ref: '#/components/schemas/QualityProfileV3Rule'
      required:
        - rules
    QualityProfileV3Rule:
      type: object
      description: A single rule that forms part of the Quality Profile.
      properties:
        id:
          type: string
          description: Unique identifier of the rule.
          example: rule-abc123
        text:
          type: string
          description: The rule requirement text sent to the LLM for evaluation.
          example: The translation must not use passive voice.
        locales:
          type: array
          description: >-
            Locales the rule is restricted to. An empty array means the rule
            applies to all locales.
          items:
            $ref: '#/components/schemas/LocaleCode'
      required:
        - id
        - text
        - locales
    ProblemDetail:
      type: object
      description: Error response following RFC 9457.
      properties:
        type:
          type: string
          description: A URI reference identifying the problem type.
          example: urn:problem-type:unauthorized
        title:
          type: string
          description: A short, human-readable summary of the problem.
          example: Unauthorized
        status:
          type: integer
          description: The HTTP status code.
          example: 401
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence.
          example: Valid credentials were not supplied
        instance:
          type: string
          description: A URI reference identifying the specific occurrence.
  responses:
    UnauthorizedResponse:
      description: Authentication failed or credentials not provided.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
          example:
            type: urn:problem-type:unauthorized
            title: Unauthorized
            status: 401
            detail: Valid credentials were not supplied
    ForbiddenResponse:
      description: >-
        Insufficient permissions. This operation requires the ADMIN or OWNER IDM
        role.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
          example:
            type: urn:problem-type:forbidden
            title: Forbidden
            status: 403
            detail: Insufficient permissions to perform this action
    ErrorResponse:
      description: An error occurred.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Use a Bearer token obtained from Phrase Platform authentication. See the
        Authentication guide for details on how to obtain a token.

````