Skip to main content
POST
/
api2
/
v1
/
projects
/
{projectUid}
/
jobs
/
preTranslate
Pre-translate job
curl --request POST \
  --url https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/preTranslate \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "jobs": [
    {
      "uid": "3HYnHHLkTPJfMxBCDbPXFe"
    }
  ],
  "callbackUrl": "<string>",
  "confirm100MachineTranslationMatches": true,
  "confirm100NonTranslatableMatches": true,
  "confirm100TranslationMemoryMatches": true,
  "confirm101TranslationMemoryMatches": true,
  "insertMachineTranslationIntoTarget": true,
  "lock100MachineTranslationMatches": true,
  "lock100NonTranslatableMatches": true,
  "lock100TranslationMemoryMatches": true,
  "lock101TranslationMemoryMatches": true,
  "mtSuggestOnlyTmBelow": true,
  "mtSuggestOnlyTmBelowThreshold": 0.505,
  "overwrite": true,
  "preTranslateNonTranslatables": true,
  "segmentFilters": [],
  "setJobStatusCompleted": true,
  "setJobStatusCompletedWhenConfirmed": true,
  "setProjectStatusCompleted": true,
  "translationMemoryTreshold": 123,
  "useMachineTranslation": true,
  "useProjectPreTranslateSettings": true,
  "useTranslationMemory": true
}
'
import requests

url = "https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/preTranslate"

payload = {
    "jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
    "callbackUrl": "<string>",
    "confirm100MachineTranslationMatches": True,
    "confirm100NonTranslatableMatches": True,
    "confirm100TranslationMemoryMatches": True,
    "confirm101TranslationMemoryMatches": True,
    "insertMachineTranslationIntoTarget": True,
    "lock100MachineTranslationMatches": True,
    "lock100NonTranslatableMatches": True,
    "lock100TranslationMemoryMatches": True,
    "lock101TranslationMemoryMatches": True,
    "mtSuggestOnlyTmBelow": True,
    "mtSuggestOnlyTmBelowThreshold": 0.505,
    "overwrite": True,
    "preTranslateNonTranslatables": True,
    "segmentFilters": [],
    "setJobStatusCompleted": True,
    "setJobStatusCompletedWhenConfirmed": True,
    "setProjectStatusCompleted": True,
    "translationMemoryTreshold": 123,
    "useMachineTranslation": True,
    "useProjectPreTranslateSettings": True,
    "useTranslationMemory": 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>',
    confirm100MachineTranslationMatches: true,
    confirm100NonTranslatableMatches: true,
    confirm100TranslationMemoryMatches: true,
    confirm101TranslationMemoryMatches: true,
    insertMachineTranslationIntoTarget: true,
    lock100MachineTranslationMatches: true,
    lock100NonTranslatableMatches: true,
    lock100TranslationMemoryMatches: true,
    lock101TranslationMemoryMatches: true,
    mtSuggestOnlyTmBelow: true,
    mtSuggestOnlyTmBelowThreshold: 0.505,
    overwrite: true,
    preTranslateNonTranslatables: true,
    segmentFilters: [],
    setJobStatusCompleted: true,
    setJobStatusCompletedWhenConfirmed: true,
    setProjectStatusCompleted: true,
    translationMemoryTreshold: 123,
    useMachineTranslation: true,
    useProjectPreTranslateSettings: true,
    useTranslationMemory: true
  })
};

fetch('https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/preTranslate', 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/preTranslate",
  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>',
    'confirm100MachineTranslationMatches' => true,
    'confirm100NonTranslatableMatches' => true,
    'confirm100TranslationMemoryMatches' => true,
    'confirm101TranslationMemoryMatches' => true,
    'insertMachineTranslationIntoTarget' => true,
    'lock100MachineTranslationMatches' => true,
    'lock100NonTranslatableMatches' => true,
    'lock100TranslationMemoryMatches' => true,
    'lock101TranslationMemoryMatches' => true,
    'mtSuggestOnlyTmBelow' => true,
    'mtSuggestOnlyTmBelowThreshold' => 0.505,
    'overwrite' => true,
    'preTranslateNonTranslatables' => true,
    'segmentFilters' => [
        
    ],
    'setJobStatusCompleted' => true,
    'setJobStatusCompletedWhenConfirmed' => true,
    'setProjectStatusCompleted' => true,
    'translationMemoryTreshold' => 123,
    'useMachineTranslation' => true,
    'useProjectPreTranslateSettings' => true,
    'useTranslationMemory' => 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/preTranslate"

	payload := strings.NewReader("{\n  \"jobs\": [\n    {\n      \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n    }\n  ],\n  \"callbackUrl\": \"<string>\",\n  \"confirm100MachineTranslationMatches\": true,\n  \"confirm100NonTranslatableMatches\": true,\n  \"confirm100TranslationMemoryMatches\": true,\n  \"confirm101TranslationMemoryMatches\": true,\n  \"insertMachineTranslationIntoTarget\": true,\n  \"lock100MachineTranslationMatches\": true,\n  \"lock100NonTranslatableMatches\": true,\n  \"lock100TranslationMemoryMatches\": true,\n  \"lock101TranslationMemoryMatches\": true,\n  \"mtSuggestOnlyTmBelow\": true,\n  \"mtSuggestOnlyTmBelowThreshold\": 0.505,\n  \"overwrite\": true,\n  \"preTranslateNonTranslatables\": true,\n  \"segmentFilters\": [],\n  \"setJobStatusCompleted\": true,\n  \"setJobStatusCompletedWhenConfirmed\": true,\n  \"setProjectStatusCompleted\": true,\n  \"translationMemoryTreshold\": 123,\n  \"useMachineTranslation\": true,\n  \"useProjectPreTranslateSettings\": true,\n  \"useTranslationMemory\": 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/preTranslate")
  .header("Authorization", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"jobs\": [\n    {\n      \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n    }\n  ],\n  \"callbackUrl\": \"<string>\",\n  \"confirm100MachineTranslationMatches\": true,\n  \"confirm100NonTranslatableMatches\": true,\n  \"confirm100TranslationMemoryMatches\": true,\n  \"confirm101TranslationMemoryMatches\": true,\n  \"insertMachineTranslationIntoTarget\": true,\n  \"lock100MachineTranslationMatches\": true,\n  \"lock100NonTranslatableMatches\": true,\n  \"lock100TranslationMemoryMatches\": true,\n  \"lock101TranslationMemoryMatches\": true,\n  \"mtSuggestOnlyTmBelow\": true,\n  \"mtSuggestOnlyTmBelowThreshold\": 0.505,\n  \"overwrite\": true,\n  \"preTranslateNonTranslatables\": true,\n  \"segmentFilters\": [],\n  \"setJobStatusCompleted\": true,\n  \"setJobStatusCompletedWhenConfirmed\": true,\n  \"setProjectStatusCompleted\": true,\n  \"translationMemoryTreshold\": 123,\n  \"useMachineTranslation\": true,\n  \"useProjectPreTranslateSettings\": true,\n  \"useTranslationMemory\": true\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/preTranslate")

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  \"confirm100MachineTranslationMatches\": true,\n  \"confirm100NonTranslatableMatches\": true,\n  \"confirm100TranslationMemoryMatches\": true,\n  \"confirm101TranslationMemoryMatches\": true,\n  \"insertMachineTranslationIntoTarget\": true,\n  \"lock100MachineTranslationMatches\": true,\n  \"lock100NonTranslatableMatches\": true,\n  \"lock100TranslationMemoryMatches\": true,\n  \"lock101TranslationMemoryMatches\": true,\n  \"mtSuggestOnlyTmBelow\": true,\n  \"mtSuggestOnlyTmBelowThreshold\": 0.505,\n  \"overwrite\": true,\n  \"preTranslateNonTranslatables\": true,\n  \"segmentFilters\": [],\n  \"setJobStatusCompleted\": true,\n  \"setJobStatusCompletedWhenConfirmed\": true,\n  \"setProjectStatusCompleted\": true,\n  \"translationMemoryTreshold\": 123,\n  \"useMachineTranslation\": true,\n  \"useProjectPreTranslateSettings\": true,\n  \"useTranslationMemory\": true\n}"

response = http.request(request)
puts response.read_body
{
  "asyncRequest": {
    "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>",
      "uid": "<string>",
      "userName": "<string>"
    },
    "dateCreated": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "parent": "<unknown>",
    "project": {
      "name": "<string>",
      "uid": "<string>"
    }
  }
}

Authorizations

Authorization
string
header
required

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

projectUid
string
required

Project UID

Body

application/json

Jobs and pre-translation settings

jobs
object[]
required
Required array length: 1 - 100 elements
callbackUrl
string
confirm100MachineTranslationMatches
boolean

Default: false

confirm100NonTranslatableMatches
boolean

Default: false

confirm100TranslationMemoryMatches
boolean

Default: false

confirm101TranslationMemoryMatches
boolean

Default: false

insertMachineTranslationIntoTarget
boolean

Default: false

lock100MachineTranslationMatches
boolean

Default: false

lock100NonTranslatableMatches
boolean

Default: false

lock100TranslationMemoryMatches
boolean

Default: false

lock101TranslationMemoryMatches
boolean

Default: false

machineTranslationBehavior
enum<string>

Default: APPLY_MT_ABOVE_THRESHOLD

Available options:
APPLY_MT_ABOVE_THRESHOLD,
COMPARE_AND_BEST_MATCH
mtSuggestOnlyTmBelow
boolean

Default: true

mtSuggestOnlyTmBelowThreshold
number<double>

Default: 1.0

Required range: 0 < x < 1.01
overwrite
boolean

Default: false

preTranslateNonTranslatables
boolean

Default: false

segmentFilters
enum<string>[]
Available options:
LOCKED,
NOT_LOCKED
setJobStatusCompleted
boolean

Default: false

setJobStatusCompletedWhenConfirmed
boolean

Default: false

setProjectStatusCompleted
boolean

Default: false

translationMemoryTreshold
number<double>

default: 0.7

useMachineTranslation
boolean

Default: true

useProjectPreTranslateSettings
boolean

Default: false

useTranslationMemory
boolean

Default: true

Response

OK

asyncRequest
object