curl --request PUT \
--url https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"name": "No Yoda Speech",
"qualityRequirements": "The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
}
'import requests
url = "https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}"
payload = {
"name": "No Yoda Speech",
"qualityRequirements": "The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "Bearer <token>"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': '<content-type>', Authorization: 'Bearer <token>'},
body: JSON.stringify({
name: 'No Yoda Speech',
qualityRequirements: 'The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.'
})
};
fetch('https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}', 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/v1/aiChecks/{uid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'No Yoda Speech',
'qualityRequirements' => 'The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}"
payload := strings.NewReader("{\n \"name\": \"No Yoda Speech\",\n \"qualityRequirements\": \"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "<content-type>")
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.put("https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}")
.header("Content-Type", "<content-type>")
.header("Authorization", "Bearer <token>")
.body("{\n \"name\": \"No Yoda Speech\",\n \"qualityRequirements\": \"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = 'Bearer <token>'
request.body = "{\n \"name\": \"No Yoda Speech\",\n \"qualityRequirements\": \"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.\"\n}"
response = http.request(request)
puts response.read_body{
"uid": "6804a3f2e1b2c3d4e5f60789",
"name": "No Yoda Speech",
"qualityRequirements": "The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
}{
"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: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>"
}{
"type": "urn:problem-type:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Valid credentials were not supplied",
"instance": "<string>"
}Update AI Check
Deprecated. Will be removed on October 12, 2026. AI Checks are now managed as Style Guide Rules attached to a Content Group.
Updates an existing AI Check.
curl --request PUT \
--url https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"name": "No Yoda Speech",
"qualityRequirements": "The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
}
'import requests
url = "https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}"
payload = {
"name": "No Yoda Speech",
"qualityRequirements": "The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "Bearer <token>"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': '<content-type>', Authorization: 'Bearer <token>'},
body: JSON.stringify({
name: 'No Yoda Speech',
qualityRequirements: 'The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.'
})
};
fetch('https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}', 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/v1/aiChecks/{uid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'No Yoda Speech',
'qualityRequirements' => 'The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}"
payload := strings.NewReader("{\n \"name\": \"No Yoda Speech\",\n \"qualityRequirements\": \"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "<content-type>")
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.put("https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}")
.header("Content-Type", "<content-type>")
.header("Authorization", "Bearer <token>")
.body("{\n \"name\": \"No Yoda Speech\",\n \"qualityRequirements\": \"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu.phrase.com/quality-evaluator/v1/aiChecks/{uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = 'Bearer <token>'
request.body = "{\n \"name\": \"No Yoda Speech\",\n \"qualityRequirements\": \"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order.\"\n}"
response = http.request(request)
puts response.read_body{
"uid": "6804a3f2e1b2c3d4e5f60789",
"name": "No Yoda Speech",
"qualityRequirements": "The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
}{
"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: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>"
}{
"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.
Headers
"application/json"
Path Parameters
Unique identifier of the AI Check.
"6804a3f2e1b2c3d4e5f60789"
Body
Display name for the AI Check.
"No Yoda Speech"
Natural language description of the quality requirements to check.
2000"The translation must not use Yoda-style inverted sentence structure. Sentences should follow standard subject-verb-object word order."
Response
AI Check updated successfully.
"6804a3f2e1b2c3d4e5f60789"
"No Yoda Speech"
2000"The translation must not use Yoda-style inverted sentence structure."
Locale codes this AI Check applies to. Absent or empty means the check applies to all locales.
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).
Was this page helpful?