curl --request POST \
--url https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"jobs": [
{
"uid": "3HYnHHLkTPJfMxBCDbPXFe"
}
],
"maxQaWarningsCount": 500,
"settings": {
"initialSegment": {
"uid": "<string>"
},
"maxQaWarningsCount": 500,
"warningTypes": []
}
}
'import requests
url = "https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run"
payload = {
"jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
"maxQaWarningsCount": 500,
"settings": {
"initialSegment": { "uid": "<string>" },
"maxQaWarningsCount": 500,
"warningTypes": []
}
}
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'}],
maxQaWarningsCount: 500,
settings: {initialSegment: {uid: '<string>'}, maxQaWarningsCount: 500, warningTypes: []}
})
};
fetch('https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run', 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/v4/projects/{projectUid}/jobs/qualityAssurances/run",
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'
]
],
'maxQaWarningsCount' => 500,
'settings' => [
'initialSegment' => [
'uid' => '<string>'
],
'maxQaWarningsCount' => 500,
'warningTypes' => [
]
]
]),
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/v4/projects/{projectUid}/jobs/qualityAssurances/run"
payload := strings.NewReader("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"settings\": {\n \"initialSegment\": {\n \"uid\": \"<string>\"\n },\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n }\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/v4/projects/{projectUid}/jobs/qualityAssurances/run")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"settings\": {\n \"initialSegment\": {\n \"uid\": \"<string>\"\n },\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run")
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 \"maxQaWarningsCount\": 500,\n \"settings\": {\n \"initialSegment\": {\n \"uid\": \"<string>\"\n },\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"finished": true,
"segmentWarnings": [
{
"ignoredChecks": [
"<string>"
],
"segmentId": "<string>",
"warnings": [
{
"type": "<string>",
"id": "<string>",
"ignored": true,
"repetitionGroupId": "<string>"
}
]
}
]
}Run quality assurance (batch)
Runs quality assurance checks on the given jobs and returns any warnings found. Checks can detect issues such as tags and formatting (missing, misplaced, or malformed tags; inconsistent tag content; missing or redundant line breaks), numbers, terminology, spelling, forbidden strings, translation length, whitespace, repeated words, unresolved comments and conversations, and source/target consistency. Call “Get QA settings” endpoint to get the list of checks enabled for this project or job.
curl --request POST \
--url https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"jobs": [
{
"uid": "3HYnHHLkTPJfMxBCDbPXFe"
}
],
"maxQaWarningsCount": 500,
"settings": {
"initialSegment": {
"uid": "<string>"
},
"maxQaWarningsCount": 500,
"warningTypes": []
}
}
'import requests
url = "https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run"
payload = {
"jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
"maxQaWarningsCount": 500,
"settings": {
"initialSegment": { "uid": "<string>" },
"maxQaWarningsCount": 500,
"warningTypes": []
}
}
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'}],
maxQaWarningsCount: 500,
settings: {initialSegment: {uid: '<string>'}, maxQaWarningsCount: 500, warningTypes: []}
})
};
fetch('https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run', 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/v4/projects/{projectUid}/jobs/qualityAssurances/run",
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'
]
],
'maxQaWarningsCount' => 500,
'settings' => [
'initialSegment' => [
'uid' => '<string>'
],
'maxQaWarningsCount' => 500,
'warningTypes' => [
]
]
]),
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/v4/projects/{projectUid}/jobs/qualityAssurances/run"
payload := strings.NewReader("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"settings\": {\n \"initialSegment\": {\n \"uid\": \"<string>\"\n },\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n }\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/v4/projects/{projectUid}/jobs/qualityAssurances/run")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"settings\": {\n \"initialSegment\": {\n \"uid\": \"<string>\"\n },\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v4/projects/{projectUid}/jobs/qualityAssurances/run")
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 \"maxQaWarningsCount\": 500,\n \"settings\": {\n \"initialSegment\": {\n \"uid\": \"<string>\"\n },\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"finished": true,
"segmentWarnings": [
{
"ignoredChecks": [
"<string>"
],
"segmentId": "<string>",
"warnings": [
{
"type": "<string>",
"id": "<string>",
"ignored": true,
"repetitionGroupId": "<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
Batch QA run configuration
UIDs of jobs to run QA on; 1–500 jobs
1 - 500 elementsShow child attributes
Show child attributes
Maximum number of QA warnings in result, default: 100. For efficiency reasons QA warnings are processed with minimum segments chunk size 10, therefore slightly more warnings are returned.
1 <= x <= 1000Show child attributes
Show child attributes
Was this page helpful?