curl --request PUT \
--url https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Renamed"
}
'import requests
url = "https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}"
payload = { "name": "Renamed" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Renamed'})
};
fetch('https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}', 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/v2/memsourceTranslateProfiles/{uid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Renamed'
]),
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/v2/memsourceTranslateProfiles/{uid}"
payload := strings.NewReader("{\n \"name\": \"Renamed\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Renamed\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Renamed\"\n}"
response = http.request(request)
puts response.read_body{
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"dateCreated": "2026-08-19T12:52:01Z",
"engines": [
{
"enabled": true,
"name": "Phrase Language AI (Google Translate)",
"terminologySource": "GLOSSARY",
"type": "GOOGLE_V3_TRANSLATE",
"uid": "B85nrNc1rGdxIsjJv3zH3o"
}
],
"glossaries": [
{
"name": "<string>",
"uid": "<string>"
}
],
"locked": false,
"name": "My Profile",
"type": "PLAI",
"uid": "W60tuzUhcOPX3ilwoNOdB6"
}Modify Language AI profile
Renames the profile. Rejected on a locked profile.
curl --request PUT \
--url https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Renamed"
}
'import requests
url = "https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}"
payload = { "name": "Renamed" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Renamed'})
};
fetch('https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}', 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/v2/memsourceTranslateProfiles/{uid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Renamed'
]),
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/v2/memsourceTranslateProfiles/{uid}"
payload := strings.NewReader("{\n \"name\": \"Renamed\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Renamed\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v2/memsourceTranslateProfiles/{uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Renamed\"\n}"
response = http.request(request)
puts response.read_body{
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"dateCreated": "2026-08-19T12:52:01Z",
"engines": [
{
"enabled": true,
"name": "Phrase Language AI (Google Translate)",
"terminologySource": "GLOSSARY",
"type": "GOOGLE_V3_TRANSLATE",
"uid": "B85nrNc1rGdxIsjJv3zH3o"
}
],
"glossaries": [
{
"name": "<string>",
"uid": "<string>"
}
],
"locked": false,
"name": "My Profile",
"type": "PLAI",
"uid": "W60tuzUhcOPX3ilwoNOdB6"
}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
Profile UID. This is a Language AI profile uid, not a machine translate settings uid; for MT-engine settings operations, use GET/PUT/DELETE /api2/v1/machineTranslateSettings/{mtsUid} instead.
Body
Profile update request
Request to rename a Language AI profile.
New display name of the profile
255"Renamed"
Response
OK
A Language AI (MT) profile grouping one or more MT engines under a named configuration. Returned verbatim by LIST, GET, POST and PUT.
Show child attributes
Show child attributes
ISO 8601 date-time when the profile was created
"2026-08-19T12:52:01Z"
MT engines attached to this profile. An empty array means no engine rows exist on the profile at all; a returned engine with enabled: false means the engine exists but is switched off - these are two different findings.
Show child attributes
Show child attributes
Glossaries attached to this profile
Show child attributes
Show child attributes
Whether the profile is locked and cannot be modified, cloned from, or deleted
false
Display name of the profile
"My Profile"
Profile kind. PLAI is the standard multi-engine profile; QUOKKA is a single-engine profile with a fixed model shape.
"PLAI"
Unique identifier of the profile
"W60tuzUhcOPX3ilwoNOdB6"
Was this page helpful?