Update target
curl --request POST \
--url https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/octet-stream' \
--header 'Memsource: <memsource>' \
--data '{}'import requests
url = "https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target"
payload = {}
headers = {
"Memsource": "<memsource>",
"Authorization": "<api-key>",
"Content-Type": "application/octet-stream"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Memsource: '<memsource>',
Authorization: '<api-key>',
'Content-Type': 'application/octet-stream'
},
body: JSON.stringify({})
};
fetch('https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target', 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/target",
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([
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/octet-stream",
"Memsource: <memsource>"
],
]);
$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/target"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Memsource", "<memsource>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/octet-stream")
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/target")
.header("Memsource", "<memsource>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/octet-stream")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Memsource"] = '<memsource>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/octet-stream'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"asyncRequest": {
"action": "PRE_ANALYSE",
"dateCreated": "2023-11-07T05:31:56Z",
"id": "<string>"
},
"jobs": [
{
"filename": "<string>",
"projectWorkflowStepReference": {
"id": "<string>",
"name": "<string>",
"order": 123,
"workflowLevel": 123
},
"status": "NEW",
"targetLang": "<string>",
"uid": "<string>"
}
]
}Job
Update target
API update target file for specified job
Job file can be provided directly in the message body.
Please supply jobs in Memsource header.
For file in the request body provide also the filename in Content-Disposition header.
Accepted metadata:
jobs- required - list of jobs UID reference (maximum size1)propagateConfirmedToTm- sets if confirmed segments should be stored in TM (default value: true)callbackUrl- consumer callbacktargetSegmentationRule- ID reference to segmentation rule of organization to use for update targetunconfirmChangedSegments- sets if segments should stay unconfirmed
Job restrictions:
- job must belong to project specified in path (
projectUid) - job cannot be split
- job cannot be continuous
- job cannot originate in a connector
- job cannot have different file extension than original file
File restrictions:
- file cannot be a
.zipfile - update target is not allowed for jobs with file extensions: po, tbx, tmx, ttx, ts
- update target for multilingual jobs works only with following file extensions: xliff, xlsx, csv
Example:
{
"jobs": [
{
"uid": "jobUid"
}
],
"propagateConfirmedToTm": true,
"targetSegmentationRule": {
"id": "1"
},
"callbackUrl": "https://my-shiny-service.com/consumeCallback"
}
POST
/
api2
/
v1
/
projects
/
{projectUid}
/
jobs
/
target
Update target
curl --request POST \
--url https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/octet-stream' \
--header 'Memsource: <memsource>' \
--data '{}'import requests
url = "https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target"
payload = {}
headers = {
"Memsource": "<memsource>",
"Authorization": "<api-key>",
"Content-Type": "application/octet-stream"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Memsource: '<memsource>',
Authorization: '<api-key>',
'Content-Type': 'application/octet-stream'
},
body: JSON.stringify({})
};
fetch('https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target', 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/target",
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([
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/octet-stream",
"Memsource: <memsource>"
],
]);
$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/target"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Memsource", "<memsource>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/octet-stream")
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/target")
.header("Memsource", "<memsource>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/octet-stream")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/target")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Memsource"] = '<memsource>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/octet-stream'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"asyncRequest": {
"action": "PRE_ANALYSE",
"dateCreated": "2023-11-07T05:31:56Z",
"id": "<string>"
},
"jobs": [
{
"filename": "<string>",
"projectWorkflowStepReference": {
"id": "<string>",
"name": "<string>",
"order": 123,
"workflowLevel": 123
},
"status": "NEW",
"targetLang": "<string>",
"uid": "<string>"
}
]
}Authorizations
ApiTokenOAuth2
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.
Headers
Update target metadata JSON (see endpoint description)
must match pattern ((inline|attachment); )?(filename\*=UTF-8''(.+)|filename="?(.+)"?)
Path Parameters
Project UID
Body
application/octet-stream
Target file binary
The body is of type object.
Was this page helpful?