curl --request POST \
--url https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"jobs": [
{
"uid": "3HYnHHLkTPJfMxBCDbPXFe"
}
],
"callbackUrl": "<string>",
"confirmSegments": false,
"lockSegments": true
}
'import requests
url = "https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality"
payload = {
"jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
"callbackUrl": "<string>",
"confirmSegments": False,
"lockSegments": True
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
jobs: [{uid: '3HYnHHLkTPJfMxBCDbPXFe'}],
callbackUrl: '<string>',
confirmSegments: false,
lockSegments: true
})
};
fetch('https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality', 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://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jobs' => [
[
'uid' => '3HYnHHLkTPJfMxBCDbPXFe'
]
],
'callbackUrl' => '<string>',
'confirmSegments' => false,
'lockSegments' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality"
payload := strings.NewReader("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"callbackUrl\": \"<string>\",\n \"confirmSegments\": false,\n \"lockSegments\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"callbackUrl\": \"<string>\",\n \"confirmSegments\": false,\n \"lockSegments\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"callbackUrl\": \"<string>\",\n \"confirmSegments\": false,\n \"lockSegments\": true\n}"
response = http.request(request)
puts response.read_body{
"action": "PRE_ANALYSE",
"asyncResponse": {
"acceptedSegmentsCount": 123,
"dateCreated": "2023-11-07T05:31:56Z",
"errorCode": "<string>",
"errorDesc": "<string>",
"errorDetails": [
{
"args": {},
"code": "<string>",
"message": "<string>"
}
],
"warnings": [
{
"args": {},
"code": "<string>",
"message": "<string>"
}
]
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"dateCreated": "2023-11-07T05:31:56Z",
"id": "<string>",
"parent": "<unknown>",
"project": {
"name": "<string>",
"uid": "<string>"
}
}Trigger quality evaluation for selected job parts
Runs quality evaluation asynchronously. Evaluation is based on the Content Group linked to the project — link one first via POST /api2/v1/projects//contentGroup. Returns 422 Unprocessable Entity if the project has no Content Group linked. Job parts must belong to the same project, workflow step, and be in a ready state. Only unlocked segments are evaluated — already locked segments are skipped. Linguists may only evaluate job parts assigned to them. lockSegments defaults to true — segments that pass all AI checks are locked after evaluation. confirmSegments defaults to false — segments are not confirmed unless explicitly set to true. Returns an asyncRequest object. Poll GET /api2/v1/async/ until asyncResponse is not null before retrieving results. Once the async job has completed, call POST /api2/v1/qualityProfiles/qeWarnings with the same job part UIDs to retrieve quality warnings. Alternatively, pass callbackUrl to be notified via a POST request once evaluation of all the selected job parts has finished, instead of polling.
curl --request POST \
--url https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"jobs": [
{
"uid": "3HYnHHLkTPJfMxBCDbPXFe"
}
],
"callbackUrl": "<string>",
"confirmSegments": false,
"lockSegments": true
}
'import requests
url = "https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality"
payload = {
"jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
"callbackUrl": "<string>",
"confirmSegments": False,
"lockSegments": True
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
jobs: [{uid: '3HYnHHLkTPJfMxBCDbPXFe'}],
callbackUrl: '<string>',
confirmSegments: false,
lockSegments: true
})
};
fetch('https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality', 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://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jobs' => [
[
'uid' => '3HYnHHLkTPJfMxBCDbPXFe'
]
],
'callbackUrl' => '<string>',
'confirmSegments' => false,
'lockSegments' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality"
payload := strings.NewReader("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"callbackUrl\": \"<string>\",\n \"confirmSegments\": false,\n \"lockSegments\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"callbackUrl\": \"<string>\",\n \"confirmSegments\": false,\n \"lockSegments\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/evaluateQuality")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"callbackUrl\": \"<string>\",\n \"confirmSegments\": false,\n \"lockSegments\": true\n}"
response = http.request(request)
puts response.read_body{
"action": "PRE_ANALYSE",
"asyncResponse": {
"acceptedSegmentsCount": 123,
"dateCreated": "2023-11-07T05:31:56Z",
"errorCode": "<string>",
"errorDesc": "<string>",
"errorDetails": [
{
"args": {},
"code": "<string>",
"message": "<string>"
}
],
"warnings": [
{
"args": {},
"code": "<string>",
"message": "<string>"
}
]
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"dateCreated": "2023-11-07T05:31:56Z",
"id": "<string>",
"parent": "<unknown>",
"project": {
"name": "<string>",
"uid": "<string>"
}
}Authorizations
Get a token from auth/login endpoint and then pass it in the Authorization HTTP header in every subsequent API call. For more information visit our help center.
Path Parameters
UID of the project
Body
Job parts to evaluate with lock and confirm settings
Job parts to evaluate; 1–50 per request, all from the same project and workflow step, and in a ready state.
1 - 50 elementsShow child attributes
Show child attributes
URL to be called once evaluation of all the selected job parts has finished. Called at most once per request.
Confirm segments that pass all AI checks. Defaults to false (segments are not confirmed).
false
Lock segments that pass all AI checks. Defaults to true (segments are locked).
true
Response
OK
PRE_ANALYSE, POST_ANALYSE, CONTINUOUS_PRE_ANALYSE, CONTINUOUS_POST_ANALYSE, COMPARE_ANALYSE, PARENT_ANALYSE, PRE_TRANSLATE, ASYNC_TRANSLATE, IMPORT_JOB, IMPORT_FILE, ALIGN, EXPORT_TMX_BY_QUERY, EXPORT_TMX, IMPORT_TMX, IMPORT_MXLF_INTO_TM, IMPORT_TBX, IMPORT_TBX_TB3, INSERT_INTO_TM, DELETE_TM, CLEAR_TM, QA, QA_V3, UPDATE_CONTINUOUS_JOB, UPDATE_SOURCE, UPDATE_TARGET, EXTRACT_CLEANED_TMS, GLOSSARY_PUT, GLOSSARY_DELETE, ASYNC_TRANSLATE_VERIFY, CREATE_PROJECT, EXPORT_COMPLETE_FILE, IMPORT_ANNOTATIONS, FILE_FLOW_CONVERTER_IMPORT, FILE_FLOW_MT_PRETRANSLATE, FILE_FLOW_QUALITY_ESTIMATION, AUTO_LQA, ADOPT_SEGMENT_DATA, ADOPT_SEGMENT_SET_DATA, QP_EVALUATION, QP_EVALUATION_V2, QUALITY_EVALUATION Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?