Job API v7

From Memsource
Jump to: navigation, search

Create New Job

action: api/v7/job/create
    token                                                string
    project                                              domain(Project)
    file                                                 file
    path                                                 string                   O         // destination directory  
    targetLang                                           list(locale)
    due                                                  datetime                 O
    linguist                                             list(domain(User))       O         // list is used to assign different linguists to different target languages
                                                                                            // ex: targetLang=de&targetLang=fr&linguist=1&linguist=2, 
                                                                                                   "de" jobs will be assigned to 1, "fr" jobs will be assigned to 2
    segmentationRule                                     domain(SegRule)          O
    tableOfContents                                      boolean                  O(false)
    notes                                                boolean                  O(false)
    masterSlides                                         boolean                  O(false)
    useProjectFileImportSettings                         boolean                  O(false)

    idml.extractNotes                                    boolean                  O(false)
    idml.simplifyCodes                                   boolean                  O(true)
    idml.extractMasterSpreads                            boolean                  O(true)
    idml.extractLockedLayers                             boolean                  O(true)
    idml.extractInvisibleLayers                          boolean                  O(false)
    idml.extractHiddenConditionalText                    boolean                  O(false)
    idml.keepKerning                                     boolean                  O(false)
    idml.keepTracking                                    boolean                  O(false)
    idml.targetFont                                      string                   O
    idml.replaceFont                                     boolean                  O(true)
    idml.removeXmlElements                               boolean                  O(false)
    
    mifExtractBodyPages                                  boolean                  O(true)
    mifExtractReferencePages                             boolean                  O(false)
    mifExtractMasterPages                                boolean                  O(true)
    mifExtractHiddenPages                                boolean                  O(false)
    mifExtractVariables                                  boolean                  O(false)
    mifExtractIndexMarkers                               boolean                  O(true)
    mifExtractLinks                                      boolean                  O(false)
    mifExtractXRefDef                                    boolean                  O(false)
    mifExtractPgfNumFormat                               boolean                  O(true)
    mifExtractCustomReferencePages                       boolean                  O(true)
    mifExtractDefaultReferencePages                      boolean                  O(false)
    mifExtractUsedVariables                              boolean                  O(true)
    mifExtractHiddenCondText                             boolean                  O(false)
    mifExtractUsedXRefDef                                boolean                  O(true)
    mifExtractUsedPgfNumFormat                           boolean                  O(true)

    xls.sheetNames                                       boolean                  O(false)
    xls.hidden                                           boolean                  O(false)
    xls.commens                                          boolean                  O(false)
    xls.other                                            boolean                  O(false)
    xls.cellFlow                                         enum(XlsCellFlow)        O(DownRight)
    xls.htmlSubfilter                                    boolean                  O(false)
    xls.tagRegexp                                        string                   O

    bilingualXlsSourceColumn                             string                   O
    bilingualXlsTargetColumn                             string                   O
    bilingualXlsContextColumn                            string                   O
    bilingualXlsMaxLenColumn                             string                   O
    bilingualXlsTagRegexp                                string                   O
    bilingualXlsProcessHtml                              boolean                  O(false)
    bilingualXlsSegmentation                             boolean                  O(true)
    docComments                                          boolean                  O(false)
    docIndex                                             boolean                  O(true)
    docOther                                             boolean                  O(false)
    docTagRegexp                                         string                   O
    docHyperlinkTarget                                   boolean                  O(false)
    docJoinSimilarRuns                                   boolean                  O(false)
    docTargetFont                                        string                   O
    docProperties                                        boolean                  O(false)
    pptHiddenSlides                                      boolean                  O(false)
    pptOther                                             boolean                  O(false)
    xmlRulesFormat                                       enum(XmlRulesFormat)     O(PLAIN)
    xmlIncludeTags                                       string                   O(*)       //Elements (import selected), example: "para,heading", only PLAIN format
    xmlExcludeTags                                       string                   O       // Elements (ignore selected), example: "script,object", only PLAIN format
    xmlIncludeAttributes                                 string                   O       // Attributes (import selected), example: "title", only PLAIN format
    xmlExcludeAttributes                                 string                   O       // Attributes (ignore selected), example: "lang,href", only PLAIN format
    xmlInlineTags                                        string                   O       // Translatable inline elements, example: "tt,b", only PLAIN format
    xmlInlineTagsNonTranslatable                         string                   O       //Non-translatable inline elements,  example: "tt,b", only PLAIN format
    xmlInlineTagsAuto                                    boolean                  O(false)       // Identify inline elements automatically, only PLAIN format
    xmlSubFilterTags                                     string                   O       // HTML subfilter; example: "tt,b", only PLAIN format
    xmlEntities                                          boolean                  O(false)       // Convert to character entities
    xmlLockTags                                          string                   O       // Locked elements, example: "para,heading", only PLAIN format
    xmlLockAttributes                                    string                   O       // Locked attributes, example: "title", only PLAIN format
    xmlIncludeXPath                                      string                   O       // only used for XPATH format
    xmlInlineTagsXPath                                   string                   O       // only used for XPATH format
    xmlInlineTagsNonTranslatableXPath                    string                   O       // only used for XPATH format
    xmlInlineTagsAutoXPath                               boolean                  O(false)
    xmlSubFilterTagsXPath                                string                   O                  //HTML subfilter; only used for XPATH format
    xmlLockXPath                                         string                   O                  // only used for XPATH format
    xmlSegmentation                                      boolean                  O(true)
    xmlTagRegexp                                         string                   O
    xmlContextXPath                                      string                   O
    xmlMaxLenXPath                                       string                   O
    xmlPreserveWhitespaceXPath                           string                   O
    xmlPreserveCharEntities                              string                   O
    bilingualXmlTranslatableElementsXPath                string                   O
    bilingualXmlSourceElementsXPath                      string                   O
    bilingualXmlTargetElementsXPath                      string                   O
    bilingualXmlInlineElementsNonTranslatableXPath       string                   O
    bilingualXmlTagRegexp                                string                   O
    bilingualXmlSegmentation                             boolean                  O(true)
    xlfImportNotes                                       boolean                  O(true)
    xlfSegmentation                                      boolean                  O(true)
    xlfSkipImportRules                                   string                   O(translate=no)    // example: "translate=yes,approved=no,state=needs-adaptation"
    xlfImportAsConfirmedRules                            string                   O                  //          multiples rules must be separated by newline or semicolon
    xlfImportAsLockedRules                               string                   O                
    xlfExportAttrsWhenConfirmedAndLocked                 string                   O                
    xlfExportAttrsWhenConfirmedAndNotLocked              string                   O
    xlfExportAttrsWhenNotConfirmedAndLocked              string                   O
    xlfExportAttrsWhenNotConfirmedAndNotLocked           string                   O
    xlfSaveConfirmedSegments                             boolean                  O(true)
    xlfLineBreakTags                                     string                   O
    xlfPreserveWhitespace                                boolean                  O(true)
    xlfContextType                                       string                   O
    xlfCopySourceToTargetIfNotImported                   boolean                  O(true)
    sdlXlfSkipImportRules                                string                   O(translate=no)    // example: "translate=yes,locked=true,state=Draft"
    sdlXlfImportAsConfirmedRules                         string                   O                  //          multiples rules must be separated by newline or semicolon
    sdlXlfImportAsLockedRules                            string                   O(locked=true)
    sdlXlfExportAttrsWhenConfirmedAndLocked              string                   O(locked=true)
    sdlXlfExportAttrsWhenConfirmedAndNotLocked           string                   O
    sdlXlfExportAttrsWhenNotConfirmedAndLocked           string                   O(locked=true)
    sdlXlfExportAttrsWhenNotConfirmedAndNotLocked        string                   O
    sdlXlfSaveConfirmedSegments                          boolean                  O(true)
    ttxSaveConfirmedSegments                             boolean                  O(true)
    yamlHtmlSubFilter                                    string                   O
    yamlTagRegexp                                        string                   O
    yamlIncludeKeyRegexp                                 string                   O
    yamlContextPath                                      string                   O
    ditaIncludeTags                                      string                   O
    ditaExcludeTags                                      string                   O
    ditaInlineTags                                       string                   O
    ditaInlineTagsNonTranslatable                        string                   O
    docBookIncludeTags                                   string                   O
    docBookExcludeTags                                   string                   O
    docBookInlineTags                                    string                   O
    docBookInlineTagsNonTranslatable                     string                   O
    poTagRegexp                                          string                   O
    poExportMultiline                                    boolean                  O(true)
    macStringsHtmlSubfilter                              boolean                  O(false)
    macStringsTagRegexp                                  string                   O

    php.tagRegexp                                        string                   O
    php.htmlSubFilter                                    string                   O

    json.tagRegexp                                       string                   O
    json.htmlSubFilter                                   boolean                  O(true)
    json.includeKeyRegexp                                string                   O
    json.contextNotePath                                 string                   O
    json.maxLenPath                                      string                   O

    html.breakTagCreatesSegment                          boolean                  O(true)
    html.unknownTagCreatesTag                            boolean                  O(true)
    html.preserveWhitespace                              boolean                  O(false)
    html.excludeElements                                 string                   O                // example: "script,blockquote"
    html.tagRegexp                                       string                   O
    html.charEntitiesToTags                              string                   O
    html.translateMetaTagRegexp                          string                   O
     
    multilingualXls.sourceColumn                         string                   O
    multilingualXls.targetColumn                         list(string)             O
    multilingualXls.contextNoteColumn                    string                   O
    multilingualXls.contextKeyColumn                     string                   O
    multilingualXls.tagRegexp                            string                   O
    multilingualXls.htmlSubFilter                        string                   O
    multilingualXls.segmentation                         boolean                  O(true)
    multilingualXls.importRows                           string                   O

    xml.contextKeyXPath                                  string                   O

    csv.delimiter                                        string                   O(,)
    csv.delimiterType                                    enum(CsvDelimiter)       O(COMMA)
    csv.htmlSubFilter                                    boolean                  O(false)
    csv.tagRegexp                                        string                   O
    csv.importColumns                                    string                   O
    csv.contextNoteColumns                               string                   O
    csv.contextKeyColumn                                 string                   O
    csv.maxLenColumn                                     string                   O
    csv.importRows                                       string                   O

    txt.tagRegexp                                        string                   O
    txt.translatableTextRegexp                           string                   O

    xlf2.importNotes                                     boolean                  O(true)
    xlf2.saveConfirmedSegments                           boolean                  O(true)
    xlf2.segmentation                                    boolean                  O(true)
    xlf2.lineBreakTags                                   boolean                  O(false)
    xlf2.preserveWhitespace                              boolean                  O(true)
    xlf2.copySourceToTargetIfNotImported                 boolean                  O(true)
    xlf2.respectTranslateAttr                            boolean                  O(true)
    xlf2.skipImportRules                                 string                   O
    xlf2.importAsConfirmedRules                          string                   O(state=final)
    xlf2.importAsLockedRules                             string                   O
    xlf2.exportAttrsWhenConfirmedAndLocked               string                   O(state=final)
    xlf2.exportAttrsWhenConfirmedAndNotLocked            string                   O(state=final)
    xlf2.exportAttrsWhenNotConfirmedAndLocked            string                   O
    xlf2.exportAttrsWhenNotConfirmedAndNotLocked         string                   O
    
    tmMatch.contextType                                  enum(ContextType)        O(PREV_AND_NEXT_SEGMENT)
    tmMatch.prevOrNextSegment                            boolean                  O(false)
    
    propertiesTagRegexp                                  string                   O     
    inputCharset                                         charset                  O
    outputCharset                                        charset                  O
    zipCharset                                           charset                  O
    fileFormat                                           string                   O
    targetLength                                         boolean                  O(false)
    targetLengthMax                                      integer                  O(1000)
    targetLengthPercent                                  boolean                  O(false)
    targetLengthPercentValue                             double                   O(130)

response: JSON 
{
  "unsupportedFiles":[ "document.png" ],
  "jobParts":[
     {
        "id":32222654,
        "internalId":"8",
        "task":"eC7YWCngob4gkwKl_dc2",
        "fileName":"3d.xlf",
        "targetLang":"cs",
        "workflowLevel":1,
        "status":"NEW",
        "isParentJobSplit":false,
        "assignedTo":null,
        "dateDue":null,
        "dateCreated":"2016-03-15T13:55:12+0000",
        "project":{
           "id":704444,
           "internalId":1297,
           "name":"xliff",
           "status":"NEW",
           "sourceLang":"en",
           "targetLangs":[
              "cs"
           ],
           "dateDue":null,
           "dateCreated":"2015-11-04T13:34:07+0000",
           "note":"",
           "machineTranslateSettings":null,
           "workflowSteps":[
           ],
           "client":null,
           "domain":null,
           "subDomain":null,
           "langSettings":[
           ],
           "createdBy":{
              "deleted":false,
              "active":true,
              "userName":"tester",
              "firstName":"tester",
              "id":23715,
              "lastName":"admin",
              "role":"ADMIN",
              "email":"test@memsource.com"
           },
           "qualityAssuranceSettings":{
              "emptyTranslation":true,
              "inconsistentTranslation":true,
              "joinTags":true,
              "missingNumbers":true,
              "segmentNotConfirmed":true,
              "terminology":true,
              "multipleSpaces":true,
              "trailingSpace":true,
              "trailingPunctuation":false,
              "targetLength":{
                 "enabled":false,
                 "max":1000
              },
              "formatting":true,
              "unresolvedComment":true,
              "emptyPairTags":true,
              "strictJobStatus":false,
              "forbiddenStrings":{
                 "enabled":false,
                 "list":[
                 ]
              },
              "excludeLockedSegments":false,
              "ignoreNotApprovedTerms":false,
              "spellCheck":true,
              "repeatedWords":true,
              "inconsistentTagContent":true,
              "emptyTagContent":true,
              "xliffTags":true,
              "forbiddenTerms":false,
              "targetLengthPercent":{
                 "enabled":false,
                 "max":130.0
              },
              "targetLengthPerSegment":true,
              "newerAtPrecedingWorkflowStep":true,
              "leadingAndTrailingSpaces":true
           },
           "analyseSettings":{
              "type":"PreAnalyse",
              "includeFuzzyRepetitions":true,
              "includeConfirmedSegments":true,
              "includeNumbers":true,
              "includeLockedSegments":true,
              "countSourceUnits":true,
              "includeTransMemory":true,
              "compareWorkflowLevel":null
           }
        },
        "job":{
           "importResult":{
              "warning":"Different source locale: 'de'\nDifferent target locale: 'fr'"
              "warnings": [
                 "Different source locale: 'de'",
                 "Different target locale: 'fr'"
                ]
       }
        },
        "wordsCount":2023,
        "beginIndex":0,
        "endIndex":168,
        "workflowStep":null,
        "readOnly":false,
        "lastModified":{
           "date":null,
           "by":null
        },
        "segmentsLastModified":null,
        "assignedUsers":[
        ],
        "vendors":[
        ]
     }
  ]
}


error codes
    JobCreateError

Note: See API File Type List for fileFormat values.

Edit Job

action: api/v7/job/edit
    token                       string
    jobPart                     domain(JobPart)
    due                         datetime                 O N
    linguist                    domain(User)             O N           // mutually exclusive with "vendor" parameter
    vendor                      domain(Vendor)           O N           // mutually exclusive with "linguist" parameter
    status                      enum(JobStatus)          O

response: empty

Delete Job

action: api/v7/job/delete
    token                       string
    jobPart                     domain(JobPart)
    purge                       boolean            O(false)

response: empty

Get Job

action: api/v7/job/get
    token                       string
    jobPart                     domain(JobPart)

response: JSON
    {
      "id":1,
      "internalId":"1",
      "task":"Fsg0ETx1y6FAR8Tl1",
      "fileName":"small.properties",
      "targetLang":"de",
      "workflowLevel":1,
      "status":"COMPLETED",
      "isParentJobSplit":false,
      "assignedTo":{
        "active":true,
        "deleted":false,
        "email":"test@test.com",
        "firstName":"linguist",
        "id":2,
        "lastName":"test",
        "role":"LINGUIST",
        "userName":"linguist"
      },
      "dateDue":null,
      "dateCreated":"2015-08-25T15:44:36Z",
      "project":{
        "id":1,
        "internalId":1,
        "name":"project",
        "status":"NEW",
        "sourceLang":"en",
        "targetLangs":[
          "cs",
          "de"
        ],
        "dateDue":null,
        "dateCreated":"2015-08-25T15:44:35Z",
        "note":null,
        "machineTranslateSettings":null,
        "workflowSteps":[
    
        ],
        "client":null,
        "domain":null,
        "subDomain":null,
        "langSettings":[
    
        ],
        "createdBy":{
          "active":true,
          "deleted":false,
          "email":"test@test.com",
          "firstName":"admin",
          "id":1,
          "lastName":"test",
          "role":"ADMIN",
          "userName":"admin"
        }
      },
      "job":{
        "importResult":{
          "warning":null
        }
      },
      "wordsCount":3,
      "beginIndex":0,
      "endIndex":2,
      "workflowStep":null,
      "readOnly":false,
      "lastModified":{
        "date":"2015-08-25T15:44:38Z",
        "by":{
          "active":true,
          "deleted":false,
          "email":"test@test.com",
          "firstName":"admin",
          "id":1,
          "lastName":"test",
          "role":"ADMIN",
          "userName":"admin"
        }
      },
      "segmentsLastModified":{
        "date":"2015-08-25T15:44:38Z",
        "by":{
          "active":true,
          "deleted":false,
          "email":"test@test.com",
          "firstName":"admin",
          "id":1,
          "lastName":"test",
          "role":"ADMIN",
          "userName":"admin"
        },
        "action":"UPLOAD_BILINGUAL"
      }
    }

List Jobs

action: api/v7/job/list
    token                       string
    jobPart                     list(domain(JobPart))

response: JSON
    [
      {
        "id": 9372,
        "task": "5087ab08eac015e0656c4a00",
        "fileName": "my.doc",
        "targetLang": "en",
        "workflowLevel": 1,
        "status": "NEW",
        "isParentJobSplit": false,
        "wordsCount": 331,
        "beginIndex":0,
        "endIndex":14,
        "assignedTo": {
          "id": 501,
          "userName": "admin",
          "email": "support@memsource.com"
        }
        // ... see Get Job
      }
    ]

List Jobs By Task

action: api/v7/job/listByTask
    token                       string
    task                        list(task)
    workflowLevel               integer         O(1)

response: JSON
 [
     "taskId":"id",
     "jobParts":[ 
       // ... see Get Job
       ]
 ]

Get Original File

By Job Part

action: api/v7/job/getOriginalFile
    token                       string
    jobPart                     domain(JobPart)

response: binary

response headers
    Content-Disposition         file name
    X-Memsource                 json
        {
          "fileName": "agreement.doc"
        }

By Task

action: api/v7/job/getOriginalFileByTask
    token                       string
    task                        task

response: binary

response headers
    Content-Disposition         file name
    X-Memsource                 json
        {
          "fileName": "agreement.doc"
        }

Get Bilingual File

action: api/v7/job/getBilingualFile
    token                       string
    jobPart                     list(domain(JobPart))
    format                      enum(BilingualFormat)    O(Mxlf)

response: binary

response headers
    Content-Disposition         file name

Get Preview File

action: api/v7/job/getPreviewFile
    token                       string
    bilingualFile               file
    task                        task

response: binary

response headers
    Content-Disposition         file name
    X-Memsource                 json
        {
          "fileName": "agreement-en-de-C.doc"
        }

Get PDF Preview (sponsored by FrontLab)

action: api/v7/job/getPdfPreview
    token                       string
    task                        task
    workflowLevel               integer         O(1)
response: JSON
    {
      "url":"http://converterstatus.frontlab.com/default.aspx?action=idmltopdf&jobid=<jobId>&jobtokenid=<tokenId>"
    }

Get Completed File

action: api/v7/job/getCompletedFile
    token                       string
    jobPart                     domain(JobPart)

response: binary

response headers
    Content-Disposition         file name
    Memsource-API-Result    json
        {
            "warning":"Invalid xliff 2.0: Error in <file> id='f1', <unit> id='1'"
        }
    X-Memsource                 json
        {
          "fileName": "agreement-en-de-C.doc"
        }

Get Completed File By Task

action: api/v7/job/getCompletedFileByTask
    token                       string
    task                        task
    workflowLevel               integer              O(1)
    format                      enum(PreviewFormat)  O(ORIGINAL)

response: binary

response headers
    Content-Disposition         file name
    Memsource-API-Result    json
        {
            "warning":"Invalid xliff 2.0: Error in <file> id='f1', <unit> id='1'"
        }
    X-Memsource                 json
        {
          "fileName": "agreement-en-de-C.doc"
        }

Upload Bilingual File

action: api/v7/job/uploadBilingualFile
    token                       string
    bilingualFile               file
    format                      enum(BilingualFormat)    O(Mxlf)
    saveToTransMemory           enum(TransMemSave)       O(Confirmed)
    setCompleted                boolean                  O(false)

response: JSON
    [
      {
        "id": 9372,
        "task": "5087ab08eac015e0656c4a00",
        "fileName": "my.doc",
        "targetLang": "en",
        "workflowLevel": 1,
        "status": "NEW",
        "isParentJobSplit": false,
        "wordsCount": 331,
        "beginIndex":0,
        "endIndex":14,
        "assignedTo": {
          "id": 501,
          "userName": "admin",
          "email": "support@memsource.com"
        }
      }
    ]

Convert Bilingual File

action: api/v7/job/convertBilingualFile
    token                       string
    bilingualFile               file
    from                        enum(BilingualFormat)
    to                          enum(BilingualFormat)

response: binary

Machine Translation

action: api/v7/job/machineTranslate
    token                       string
    task                        task
    text                        list(string)

response: JSON
    {
      "translations": [ "Hallo", "Welt" ]
    }

error codes
    MachineTranslateNotSelected

Get Translation Resources

action: api/v7/job/getTranslationResources
    token                       string
    task                        task
    workflowLevel               integer         O(1)

response: JSON
   {
     "termBases":[
       {
         "termBase":{
           "id":1,
           "name":"termBase",
           "langs":[
             "de",
             "en"
           ]
         },
         "writeMode":true,
         "targetLang":"de",
         "readMode":true,
         "workflowStep":null
       }
     ],
     "transMemories":[
       {
         "writeMode":true,
         "transMemory":{
           "id":1,
           "targetLangs":[
             "de"
           ],
           "sourceLang":"en",
           "name":"transMem"
         },
         "targetLang":"de",
         "penalty":0,
         "readMode":true,
         "workflowStep":null
       }
     ],
     "targetLang":"de",
     "fileName":"small.properties",
     "machineTranslator":{
       "name":"Google",
       "type":"GoogleTranslate"    // see MachineTranslator enum for all possible values
     },
     "access":{
       "showUserDataToLinguists": true,
       "downloadEnabled": true
     }
   }

Set Status

action: api/v7/job/setStatus
    token                       string
    jobPart                     domain(JobPart)
    status                      enum(JobStatus)

response: empty

Get Segments Count ("Get Progress")

action: api/v7/job/getSegmentsCount
    token                       string
    jobPart                     list(domain(JobPart))        M(100)

response: JSON
   [
     {
       "counts":{
         "allConfirmed":false,
         "charsCount":923,
         "confirmedCharsCount":0,
         "lockedSegmentsCount":0,
         "qualityAssurance":{
           "ignoredWarningsCount":0,
           "segmentsCount":0,
           "warningsCount":0
         },
         "qualityAssuranceResolved":false,
         "segmentGroupsCount":10,
         "segmentsCount":10,
         "translatedLockedSegmentsCount":0,
         "translatedSegmentsCount":0
       }
     }
   ]

Get Segments

action: api/v7/job/getSegments
    token                       string
    task                        task
    beginIndex                  int
    endIndex                    int

response: JSON
   [
     [
       {
         "createdAt":1349958069141,
         "createdBy":{
           "firstName":"administrator",
           "id":30,
           "lastName":"admin",
           "userName":"admin"
         },
         "id":"1wHy5zBpxBsb1omg1:0",
         "modifiedAt":0,
         "modifiedBy":null,
         "source":"Hello",
         "translation":"Hallo",
         "workflowStep":{
           "abbr":"P",
           "id":4,
           "level":1,
           "name":"Preparation"
         }
       },
       {
         "createdAt":1349958069141,
         "createdBy":{
           "firstName":"administrator",
           "id":30,
           "lastName":"admin",
           "userName":"admin"
         },
         "id":"1wHy5zBpxBsb1omg1:0",
         "modifiedAt":0,
         "modifiedBy":null,
         "source":"Hello",
         "translation":"Hallo",
         "workflowStep":{
           "abbr":"T",  
           "id":1,
           "level":2,
           "name":"Translation"
         }
       }
     ]
   ]

Get Workflow Steps

action: api/v7/job/getWorkflowSteps
    token                       string
    task                        task

response: JSON
   [
     {
       "id":1,
       "level":1,
       "name":"Translation",
       "abbr":"T"
     },
     {
       "id":2,
       "level":2,
       "name":"Revision",
       "abbr":"R"
     }
   ]

Compare Bilingual File

action: api/v7/job/compareBilingualFile
    token                       string
    bilingualFile               file
    compareToLevel              int

response: JSON
   [
     {
       "segmentId":"MF5qobgaMiKFA8ak:0",
       "state":"Diff",
     },
     {
       "segmentId":"MF5qobgaMiKFA8ak:1",
       "state":"Miss",
     }
   ]

Compare Workflow Steps

action: api/v7/job/compareWorkflowSteps
    token                       string
    jobPart                     list(domain(JobPart))
    compareAtLevel              int
    compareWithLevel            int

response: JSON
   [
     {
       "segmentId":"MF5qobgaMiKFA8ak:0",
       "state":"Diff",
     },
     {
       "segmentId":"MF5qobgaMiKFA8ak:1",
       "state":"Miss",
     }
   ]

List By Project

action: api/v7/job/listByProject
    token                       string
    page                        integer                      O(0)
    project                     domain(Project)
    workflowLevel               integer                      O(1)
    assignedTo                  domain(User)                 O
    status                      enum(JobFilter.Status)       O

response: JSON
[
  {
     "id":38184639,
     "internalId":"1",
     "task":"u1U4C6Fqos5mgLEH0_dc1",
     "fileName":"Pasted text.txt",
     "targetLang":"de_de",
     "workflowLevel":1,
     "status":"NEW",
     "isParentJobSplit":false,
     "assignedTo":{
        "deleted":false,
        "active":true,
        "userName":"Ling1",
        "firstName":"J",
        "id":149701,
        "lastName":"DE",
        "role":"LINGUIST",
        "email":"ling1@memsource.com"
     },
     "dateDue":null,
     "dateCreated":"2016-05-25T18:00:12+0000",
     "project":{
        "id":1096883,
        "internalId":2064,
        "name":"Project 53412",
        "status":"NEW",
        "sourceLang":"ru_ru",
        "targetLangs":[
           "de_de",
           "en_gb",
           "fr_fr"
        ],
        "dateDue":null,
        "dateCreated":"2016-05-25T18:01:13+0000",
        "note":null,
        "machineTranslateSettings":null,
        "workflowSteps":[
        ],
        "client":null,
        "businessUnit":{
        },
        "domain":null,
        "subDomain":null,
        "langSettings":[
        ],
        "createdBy":{
           "deleted":false,
           "active":true,
           "userName":"k_support",
           "firstName":"Project",
           "id":23715,
           "lastName":"Manager",
           "role":"ADMIN",
           "email":"pm@memsource.com"
        },
        "qualityAssuranceSettings":{
           "emptyTranslation":false,
           "inconsistentTranslation":false,
           "joinTags":false,
           "missingNumbers":false,
           "segmentNotConfirmed":false,
           "terminology":false,
           "multipleSpaces":false,
           "trailingSpace":true,
           "trailingPunctuation":false,
           "targetLength":{
              "enabled":false,
              "max":1000
           },
           "formatting":false,
           "unresolvedComment":false,
           "emptyPairTags":false,
           "strictJobStatus":false,
           "forbiddenStrings":{
              "enabled":false,
              "list":[
              ]
           },
           "excludeLockedSegments":false,
           "ignoreNotApprovedTerms":false,
           "spellCheck":false,
           "repeatedWords":false,
           "inconsistentTagContent":false,
           "emptyTagContent":false,
           "xliffTags":false,
           "forbiddenTerms":false,
           "targetLengthPercent":{
              "enabled":false,
              "max":130.0
           },
           "targetLengthPerSegment":false,
           "newerAtPrecedingWorkflowStep":false,
           "leadingAndTrailingSpaces":false
        },
        "analyseSettings":{
           "type":"PreAnalyse",
           "includeFuzzyRepetitions":true,
           "includeConfirmedSegments":true,
           "includeNumbers":true,
           "includeLockedSegments":true,
           "countSourceUnits":true,
           "includeTransMemory":true,
           "compareWorkflowLevel":null
        }
     },
     "job":{
        "importResult":{
           "warning":null,
           "warnings":[
           ]
        }
     },
     "wordsCount":1,
     "beginIndex":0,
     "endIndex":0,
     "workflowStep":null,
     "readOnly":false,
     "lastModified":{
        "date":null,
        "by":null
     },
     "segmentsLastModified":null,
     "assignedUsers":[
        {
           "deleted":false,
           "active":true,
           "userName":"Ling1",
           "firstName":"J",
           "id":149701,
           "lastName":"DE",
           "role":"LINGUIST",
           "email":"ling1@memsource.com"
        }
     ],
     "vendors":[
     ]
  },
  {
     "id":38184641,
     "internalId":"3",
     "task":"y1U4C6Fqos5mgLEH0_dc1",
     "fileName":"Pasted text.txt",
     "targetLang":"fr_fr",
     "workflowLevel":1,
     "status":"NEW",
     "isParentJobSplit":false,
     "assignedTo":{
        "deleted":false,
        "active":true,
        "userName":"Ling2",
        "firstName":"J",
        "id":149710,
        "lastName":"IT",
        "role":"LINGUIST",
        "email":"ling2@memsource.com"
     },
     "dateDue":null,
     "dateCreated":"2016-05-25T18:00:12+0000",
     "project":{
        "id":1096883,
        "internalId":2064,
        "name":"Project 53412",
        "status":"NEW",
        "sourceLang":"ru_ru",
        "targetLangs":[
           "de_de",
           "en_gb",
           "fr_fr"
        ],
        "dateDue":null,
        "dateCreated":"2016-05-25T18:01:13+0000",
        "note":null,
        "machineTranslateSettings":null,
        "workflowSteps":[
        ],
        "client":null,
        "businessUnit":{
        },
        "domain":null,
        "subDomain":null,
        "langSettings":[
        ],
        "createdBy":{
           "deleted":false,
           "active":true,
           "userName":"k_support",
           "firstName":"Project",
           "id":23715,
           "lastName":"Manager",
           "role":"ADMIN",
           "email":"pm@memsource.com"
        },
        "qualityAssuranceSettings":{
           "emptyTranslation":false,
           "inconsistentTranslation":false,
           "joinTags":false,
           "missingNumbers":false,
           "segmentNotConfirmed":false,
           "terminology":false,
           "multipleSpaces":false,
           "trailingSpace":true,
           "trailingPunctuation":false,
           "targetLength":{
              "enabled":false,
              "max":1000
           },
           "formatting":false,
           "unresolvedComment":false,
           "emptyPairTags":false,
           "strictJobStatus":false,
           "forbiddenStrings":{
              "enabled":false,
              "list":[
              ]
           },
           "excludeLockedSegments":false,
           "ignoreNotApprovedTerms":false,
           "spellCheck":false,
           "repeatedWords":false,
           "inconsistentTagContent":false,
           "emptyTagContent":false,
           "xliffTags":false,
           "forbiddenTerms":false,
           "targetLengthPercent":{
              "enabled":false,
              "max":130.0
           },
           "targetLengthPerSegment":false,
           "newerAtPrecedingWorkflowStep":false,
           "leadingAndTrailingSpaces":false
        },
        "analyseSettings":{
           "type":"PreAnalyse",
           "includeFuzzyRepetitions":true,
           "includeConfirmedSegments":true,
           "includeNumbers":true,
           "includeLockedSegments":true,
           "countSourceUnits":true,
           "includeTransMemory":true,
           "compareWorkflowLevel":null
        }
     },
     "job":{
        "importResult":{
           "warning":null,
           "warnings":[
           ]
        }
     },
     "wordsCount":1,
     "beginIndex":0,
     "endIndex":0,
     "workflowStep":null,
     "readOnly":false,
     "lastModified":{
        "date":null,
        "by":null
     },
     "segmentsLastModified":null,
     "assignedUsers":[
        {
           "deleted":false,
           "active":true,
           "userName":"Ling2",
           "firstName":"J",
           "id":149710,
           "lastName":"IT",
           "role":"LINGUIST",
           "email":"ling2@memsource.com"
        }
     ],
     "vendors":[
     ]
  }
]

Pre-translate

action: api/v7/job/preTranslate
    token                               string
    jobPart                             list(domain(JobPart))
    useTranslationMemory                boolean                    O(true)
    translationMemoryThreshold          double                     O(0.7)
    useMachineTranslation               boolean                    O(true)
    insertMachineTranslationIntoTarget  boolean                    O(true)
    preTranslateNonTranslatables        boolean                    O(false)
    confirmNonTranslatables             boolean                    O(false)
    confirm100Matches                   boolean                    O(false)
    confirm101Matches                   boolean                    O(false)
    lock101Matches                      boolean                    O(false)
    lock100Matches                      boolean                    O(false)
    overwrite                           boolean                    O(false)
    segmentFilter                       list(enum(SegmentFilter))  O

response: empty

Human Translate (Gengo)

action: /api/async/v2/job/humanTranslate
   token                                string
   jobPart                              list(domain(JobPart))
   asyncTranslateSettings               domain(AsyncTranslateSettings)
   level                                enum(GengoTranslateSettings.Level)   O
   comment                              string                               O
   glossaryId                           string                               O
   usePreferredTranslators              boolean                              O 
   callbackUrl                          string                               O

response: AsyncRequest object as JSON

Pseudo-translate

action: api/v7/job/pseudoTranslate
    token                               string
    jobPart                             list(domain(JobPart))
    replacement                         string                     O($)
    prefix                              string                     O(aaa)
    suffix                              string                     O(bbb)
    length                              double                     O(1)

response: empty

Notify Assigned Linguist

action: api/v7/job/notifyAssignedLinguist
    token                               string
    jobPart                             list(domain(JobPart))
    emailTemplate                       domain(OrganizationEmailTemplate)
    cc                                  list(string)                               O

response: empty

List By User (Assigned To)

action: api/v7/job/listByAssignedTo
    token                               string
    assignedTo                          domain(User)
    status                              enum(JobStatus)

response: JSON
 [
   {
     "id":1,
     "project":{
       "id":1,
       "targetLangs":[
         "cs",
         "de"
       ],
       "status":"NEW",
       "sourceLang":"en",
       "name":"project",
       "dateCreated":"2013-07-16T12:07:08Z",
       "dateDue":null,
       "note":null
     },
     "status":"NEW",
     "targetLang":"de",
     "task":"Tn1gJNpyxBsTKFYE0",
     "assignedTo":{
       "id":2,
       "lastName":"test",
       "email":"test@test.com",
       "userName":"linguist",
       "role":"LINGUIST",
       "active":true,
       "firstName":"linguist"
     },
     "fileName":"small.properties",
     "dateCreated":"2013-07-16T12:07:10Z",
     "dateDue":null,
     "workflowLevel":1,
     "isParentJobSplit":false,
     "wordsCount": 331,
     "beginIndex":0,
     "endIndex":14
   }
 ]

Split By Parts Count

action: api/v7/job/splitByPartsCount
    token                               string
    jobPart                             domain(JobPart)
    partsCount                          integer

response: JSON
 [
   65321,65322,65323            // list of new JobPart identifiers
 ]

Split By Part Size

action: api/v7/job/splitByPartSize
    token                               string
    jobPart                             domain(JobPart)
    partSize                            integer

response: JSON
 [
   65321,65322,65323            // list of new JobPart identifiers
 ]

Split After Specific Segment(s)

action: api/v7/job/splitAfterSegment
    token                               string
    jobPart                             domain(JobPart)
    segmentOrdinal                      list(long)

response: JSON
 [
   65321,65322,65323            // list of new JobPart identifiers
 ]

Delete All Translations

action: api/v7/job/deleteAllTranslations
    token                       string
    jobPart                     domain(JobPart)

response: JSON
 [
   65321,65322,65323            // list of JobPart identifiers
 ]

Special Features

action: api/v7/job/getSpecialFeatures
    token                               string
    task                                task

response: JSON
 {
   "pdfPreview":{
     "enabled":false
   }
 }

Status Changes

action: api/v7/job/getStatusChanges
    token                               string
    jobPart                             domain(JobPart)

response: JSON
   [
     "createdBy":{
       "id":1,
       "lastName":"test",
       "email":"test@test.com",
       "role":"ADMIN",
       "userName":"admin",
       "active":true,
       "firstName":"admin",
       "deleted":false
     },
     "status":"EMAILED",
     "dateCreated":"2015-11-09T07:48:34+0000"
   ]