Skip to main content
GET
/
v3
/
qualityProfiles
/
{contentGroupId}
Get Quality Profile by Content Group
curl --request GET \
  --url https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://eu.phrase.com/quality-evaluator/v3/qualityProfiles/{contentGroupId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "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"
      ]
    }
  ]
}
{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied"
}
{
"type": "urn:problem-type:forbidden",
"title": "Forbidden",
"status": 403,
"detail": "Insufficient permissions to perform this action"
}
{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied",
"instance": "<string>"
}

Authorizations

Authorization
string
header
required

Use a Bearer token obtained from Phrase Platform authentication. See the Authentication guide for details on how to obtain a token.

Path Parameters

contentGroupId
string
required

ID of the Content Group whose Quality Profile is to be retrieved.

Example:

"cg-abc123"

Query Parameters

locale
string

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. 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"

Response

Quality Profile resolved successfully.

Quality Profile resolved from a Content Group — a list of active AI-check-enabled rules.

rules
object[]
required

Active rules with AI check support enabled for the given Content Group.