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.",
"name": "No passive voice",
"omittedReason": null,
"locales": [],
"aiCheckEnabled": true
},
{
"id": "rule-def456",
"text": "The translation must use formal language.",
"name": "Formal language",
"omittedReason": null,
"locales": [
"de_de",
"de_at"
],
"aiCheckEnabled": true
}
]
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied",
"instance": "<string>"
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied"
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied",
"instance": "<string>"
}Get Quality Profile by Content Group
Returns the Quality Profile for the given Content Group: the active Rules that apply to it, including Rules with AI Check disabled (see aiCheckEnabled on each rule). The profile is resolved dynamically to reflect the current state of the linked Content Group.
Optionally filter by locale, AI Check enabled state, and rule text, and sort by AI Check enabled state.
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.",
"name": "No passive voice",
"omittedReason": null,
"locales": [],
"aiCheckEnabled": true
},
{
"id": "rule-def456",
"text": "The translation must use formal language.",
"name": "Formal language",
"omittedReason": null,
"locales": [
"de_de",
"de_at"
],
"aiCheckEnabled": true
}
]
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied",
"instance": "<string>"
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied"
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied",
"instance": "<string>"
}Authorizations
Use a Bearer token obtained from Phrase Platform authentication. See the Authentication guide for details on how to obtain a token.
Path Parameters
ID of the Content Group whose Rules are to be retrieved.
"cg-abc123"
Query Parameters
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).
"en_us"
Filters rules by their aiCheckEnabled state. When absent, rules are returned regardless of state.
true
Case-insensitive contains-match filter on the rule requirement text. When absent, rules are returned regardless of their text.
450"passive voice"
Sort field.
checkEnabled Sort order. Only applied when sort is provided.
asc, desc Response
Quality Profile resolved successfully.
Quality Profile resolved from a Content Group: the active Rules that apply to it.
Active rules for the given Content Group. Includes rules with AI Check disabled; see aiCheckEnabled on each rule.
Show child attributes
Show child attributes
Was this page helpful?