curl --request POST \
--url https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"jobsAndSegments": [
{
"job": {
"uid": "3HYnHHLkTPJfMxBCDbPXFe"
},
"segments": [
"<string>"
]
}
],
"maxQaWarningsCount": 500,
"warningTypes": []
}
'import requests
url = "https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run"
payload = {
"jobsAndSegments": [
{
"job": { "uid": "3HYnHHLkTPJfMxBCDbPXFe" },
"segments": ["<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({
jobsAndSegments: [{job: {uid: '3HYnHHLkTPJfMxBCDbPXFe'}, segments: ['<string>']}],
maxQaWarningsCount: 500,
warningTypes: []
})
};
fetch('https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/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/v3/projects/{projectUid}/jobs/qualityAssurances/segments/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([
'jobsAndSegments' => [
[
'job' => [
'uid' => '3HYnHHLkTPJfMxBCDbPXFe'
],
'segments' => [
'<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/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run"
payload := strings.NewReader("{\n \"jobsAndSegments\": [\n {\n \"job\": {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n },\n \"segments\": [\n \"<string>\"\n ]\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\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/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobsAndSegments\": [\n {\n \"job\": {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n },\n \"segments\": [\n \"<string>\"\n ]\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/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 \"jobsAndSegments\": [\n {\n \"job\": {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n },\n \"segments\": [\n \"<string>\"\n ]\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\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 on selected segments
curl --request POST \
--url https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"jobsAndSegments": [
{
"job": {
"uid": "3HYnHHLkTPJfMxBCDbPXFe"
},
"segments": [
"<string>"
]
}
],
"maxQaWarningsCount": 500,
"warningTypes": []
}
'import requests
url = "https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run"
payload = {
"jobsAndSegments": [
{
"job": { "uid": "3HYnHHLkTPJfMxBCDbPXFe" },
"segments": ["<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({
jobsAndSegments: [{job: {uid: '3HYnHHLkTPJfMxBCDbPXFe'}, segments: ['<string>']}],
maxQaWarningsCount: 500,
warningTypes: []
})
};
fetch('https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/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/v3/projects/{projectUid}/jobs/qualityAssurances/segments/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([
'jobsAndSegments' => [
[
'job' => [
'uid' => '3HYnHHLkTPJfMxBCDbPXFe'
],
'segments' => [
'<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/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run"
payload := strings.NewReader("{\n \"jobsAndSegments\": [\n {\n \"job\": {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n },\n \"segments\": [\n \"<string>\"\n ]\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\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/v3/projects/{projectUid}/jobs/qualityAssurances/segments/run")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobsAndSegments\": [\n {\n \"job\": {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n },\n \"segments\": [\n \"<string>\"\n ]\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v3/projects/{projectUid}/jobs/qualityAssurances/segments/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 \"jobsAndSegments\": [\n {\n \"job\": {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n },\n \"segments\": [\n \"<string>\"\n ]\n }\n ],\n \"maxQaWarningsCount\": 500,\n \"warningTypes\": []\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
Body
Jobs and their specific segment IDs to run QA on; 1–100 entries
1 - 100 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 <= 1000Filter results to these warning types; when empty only fast checks run. Covers
checks such as tags and formatting (Formatting, JoinTags, EmptyPairTags, InconsistentTagContent,
EmptyTagContent, NestedTags, Malformed), numbers (MissingNumbersV3, ExtraNumbersV3), terminology
(NonConformingTerm, ForbiddenTerm), spelling (SpellCheck), forbidden strings (ForbiddenString), translation
length (TranslationLength, AbsoluteLength, RelativeLength), whitespace (MultipleSpacesV3,
LeadingAndTrailingSpaces), repeated words (RepeatedWord), unresolved comments and conversations
(UnresolvedComment, UnresolvedConversation), and source/target consistency
(InconsistentTranslationTargetSource, InconsistentTranslationSourceTarget, TargetSourceIdentical).
100EmptyTranslation, TrailingPunctuation, Formatting, JoinTags, MissingNumbersV3, MultipleSpacesV3, NonConformingTerm, NotConfirmed, TranslationLength, AbsoluteLength, RelativeLength, UnresolvedComment, EmptyPairTags, InconsistentTranslationTargetSource, InconsistentTranslationSourceTarget, ForbiddenString, SpellCheck, RepeatedWord, InconsistentTagContent, EmptyTagContent, Malformed, ForbiddenTerm, NewerAtLowerLevel, LeadingAndTrailingSpaces, LeadingSpaces, TrailingSpaces, TargetSourceIdentical, SourceOrTargetRegexp, UnmodifiedFuzzyTranslation, UnmodifiedFuzzyTranslationTM, UnmodifiedFuzzyTranslationMTNT, Moravia, ExtraNumbersV3, UnresolvedConversation, NestedTags, FuzzyInconsistencyTargetSource, FuzzyInconsistencySourceTarget, CustomQA, MissingNonTranslatableAnnotation Was this page helpful?