Memsource Legacy API

Quality Assurance API v3

Important:

Memsource Legacy API will be deprecated in 2020. It is disabled for all new organization accounts created after May 7th 2019.
Please use Memsource REST API instead.

List of Checks

Type of Check Additional Data (JSON)
EmptyPairTags  
EmptyTagContent  
EmptyTranslation  
ExtraNumbers
{
  "extraNumbers": [ "12", "50" ]
}
Formatting  
ForbiddenStrings
{
  "strings": ["agreement", "firm"]
}
ForbiddenTerms
{
  "forbiddenTerms": ["contract"]
}
InconsistentTagContent  
InconsistentTranslationSourceTarget
{
  "segmentId": "1OzJaVQcwBsPgA7E0:0"
}
InconsistentTranslationTargetSource
{
  "segmentId": "1OzJaVQcwBsPgA7E0:0"
}
JoinTags
{
  "sourceTagsCount": 2,
  "translationTagsCount": 3
}
Malformed
{
  "message" : "..."
} 
LeadingAndTrailingSpaces  
MissingNumbers
{
  "missingNumbers" : [ "2", "3.14" ]
}
MultipleSpaces  
NewerAtLowerLevel  
NotConfirmed  
RepeatedWords
{
  "repeatedWords" : [ "and" ]
}
SourceOrTargetRegexp
{
  "descriptions": [
    "desc1",
    "desc2"
  ]
}
SpellCheck
{
  "misspelledWords": [
    {
      "offset": 6,
      "word": "barx"
    }
  ]
}
Terminology
{
  "missingTerms": ["agreement"],
  "forbiddenTerms": ["contract"]
}
TargetSourceIdentical  
TrailingSpace  
TrailingPunctuation  
TranslationLength  
UnmodifiedFuzzyTranslation  
UnresolvedComment  

Update Ignored Checks

action: api/v3/qualityAssurance/updateIgnoredChecks
    token                       string
    task                        task
    segmentId                   string
    workflowLevel               integer
    check                       list(string)            list of types from the table above

response: empty

Run Quality Assurance

action: api/v3/qualityAssurance/run
    token                       string
    bilingualFile               file                                  // only MXLIFF files are allowed
    initialSegmentId            string                    O
    unlimitedIgnoredWarnings    boolean                   O(true)
    maxWarningsCount            integer                   O(100)
    warningType                 list(enum(WarningType))   O           // see the list above for possible values

response: JSON
{
  "finished":true,
  "segmentWarnings":[
    {
      "ignoredChecks":[
        "NotConfirmed"
      ],
      "segmentId":"1OzJaVQcwBsPgA7E0:0",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
      ]
    },
    {
      "ignoredChecks":null,
      "segmentId":"1OzJaVQcwBsPgA7E0:2",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
        {
          "missingNumbers":[
            "1"
          ],
          "type":"MissingNumbers"
        },
        {
          "type":"NotConfirmed"
        }
      ]
    }
  ]
}

Run Quality Assurance By Job Part(s)

action: api/v3/qualityAssurance/runByJobPart
    token                       string
    jobPart                     list(domain(JobPart))
    initialSegmentId            string                    O
    unlimitedIgnoredWarnings    boolean                   O(true)
    maxWarningsCount            integer                   O(100)
    warningType                 list(enum(WarningType))   O           // see the list above for possible values

response: JSON
{
  "finished":true,
  "segmentWarnings":[
    {
      "ignoredChecks":[
        "NotConfirmed"
      ],
      "segmentId":"1OzJaVQcwBsPgA7E0:0",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
      ]
    },
    {
      "ignoredChecks":null,
      "segmentId":"1OzJaVQcwBsPgA7E0:2",
      "warnings":[
        {
          "type":"EmptyTranslation"
        },
        {
          "missingNumbers":[
            "1"
          ],
          "type":"MissingNumbers"
        },
        {
          "type":"NotConfirmed"
        }
      ]
    }
  ]
}