Search language assets
curl --request POST \
--url https://cloud.memsource.com/web/api2/v1/languageAssets/search \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"queries": [
{
"text": "<string>"
}
],
"sourceLocale": "<string>",
"targetLocales": [
"<string>"
],
"clientId": "TZTenUqAlyWE4NmAvQRMq1"
}
'import requests
url = "https://cloud.memsource.com/web/api2/v1/languageAssets/search"
payload = {
"queries": [{ "text": "<string>" }],
"sourceLocale": "<string>",
"targetLocales": ["<string>"],
"clientId": "TZTenUqAlyWE4NmAvQRMq1"
}
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({
queries: [{text: '<string>'}],
sourceLocale: '<string>',
targetLocales: ['<string>'],
clientId: 'TZTenUqAlyWE4NmAvQRMq1'
})
};
fetch('https://cloud.memsource.com/web/api2/v1/languageAssets/search', 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/languageAssets/search",
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([
'queries' => [
[
'text' => '<string>'
]
],
'sourceLocale' => '<string>',
'targetLocales' => [
'<string>'
],
'clientId' => 'TZTenUqAlyWE4NmAvQRMq1'
]),
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/languageAssets/search"
payload := strings.NewReader("{\n \"queries\": [\n {\n \"text\": \"<string>\"\n }\n ],\n \"sourceLocale\": \"<string>\",\n \"targetLocales\": [\n \"<string>\"\n ],\n \"clientId\": \"TZTenUqAlyWE4NmAvQRMq1\"\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/languageAssets/search")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n {\n \"text\": \"<string>\"\n }\n ],\n \"sourceLocale\": \"<string>\",\n \"targetLocales\": [\n \"<string>\"\n ],\n \"clientId\": \"TZTenUqAlyWE4NmAvQRMq1\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/languageAssets/search")
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 \"queries\": [\n {\n \"text\": \"<string>\"\n }\n ],\n \"sourceLocale\": \"<string>\",\n \"targetLocales\": [\n \"<string>\"\n ],\n \"clientId\": \"TZTenUqAlyWE4NmAvQRMq1\"\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"searchedTermBaseIds": [
"<string>"
],
"searchedTransMemoryIds": [
"<string>"
],
"warnings": [
"<string>"
]
},
"results": [
{
"query": "<string>",
"termBaseMatches": [
{
"conceptId": "<string>",
"sourceTerm": {
"forbidden": true,
"locale": "<string>",
"preferred": true,
"termId": "<string>",
"text": "<string>"
},
"targetTerms": [
{
"forbidden": true,
"locale": "<string>",
"preferred": true,
"termId": "<string>",
"text": "<string>"
}
],
"termBaseId": "<string>",
"termBaseName": "<string>"
}
],
"translationMemoryMatches": [
{
"netScore": 123,
"sourceSegmentText": "<string>",
"targetSegments": [
{
"locale": "<string>",
"text": "<string>"
}
],
"transMemoryId": "<string>",
"transMemoryName": "<string>"
}
]
}
]
}Language Assets
Search language assets
Search across term bases and translation memories for matching language assets.
Search behavior:
- Translation memories: returns only 100% (exact) and 101% (in-context) matches. No fuzzy, wildcard, or sub-segment matching is supported.
- Term bases: returns only approved terms matching the search text. No wildcard or partial matching.
Request limits:
- Max 50 queries per request, each up to 1000 characters.
- Up to 100 translation memories and 100 term bases are searched.
- Up to 10 TM matches returned per query text.
- Optional
clientIdrestricts to assets assigned to that client (or unassigned).
Execution:
- TM and TB searches run in parallel with a 20-second timeout.
- Partial results are returned if one search times out or fails.
- Check
metadata.tmSearchStatus/metadata.tbSearchStatus(COMPLETED, TIMED_OUT, FAILED). - Returns HTTP 503 when the service is under heavy load.
POST
/
api2
/
v1
/
languageAssets
/
search
Search language assets
curl --request POST \
--url https://cloud.memsource.com/web/api2/v1/languageAssets/search \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"queries": [
{
"text": "<string>"
}
],
"sourceLocale": "<string>",
"targetLocales": [
"<string>"
],
"clientId": "TZTenUqAlyWE4NmAvQRMq1"
}
'import requests
url = "https://cloud.memsource.com/web/api2/v1/languageAssets/search"
payload = {
"queries": [{ "text": "<string>" }],
"sourceLocale": "<string>",
"targetLocales": ["<string>"],
"clientId": "TZTenUqAlyWE4NmAvQRMq1"
}
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({
queries: [{text: '<string>'}],
sourceLocale: '<string>',
targetLocales: ['<string>'],
clientId: 'TZTenUqAlyWE4NmAvQRMq1'
})
};
fetch('https://cloud.memsource.com/web/api2/v1/languageAssets/search', 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/languageAssets/search",
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([
'queries' => [
[
'text' => '<string>'
]
],
'sourceLocale' => '<string>',
'targetLocales' => [
'<string>'
],
'clientId' => 'TZTenUqAlyWE4NmAvQRMq1'
]),
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/languageAssets/search"
payload := strings.NewReader("{\n \"queries\": [\n {\n \"text\": \"<string>\"\n }\n ],\n \"sourceLocale\": \"<string>\",\n \"targetLocales\": [\n \"<string>\"\n ],\n \"clientId\": \"TZTenUqAlyWE4NmAvQRMq1\"\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/languageAssets/search")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n {\n \"text\": \"<string>\"\n }\n ],\n \"sourceLocale\": \"<string>\",\n \"targetLocales\": [\n \"<string>\"\n ],\n \"clientId\": \"TZTenUqAlyWE4NmAvQRMq1\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/languageAssets/search")
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 \"queries\": [\n {\n \"text\": \"<string>\"\n }\n ],\n \"sourceLocale\": \"<string>\",\n \"targetLocales\": [\n \"<string>\"\n ],\n \"clientId\": \"TZTenUqAlyWE4NmAvQRMq1\"\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"searchedTermBaseIds": [
"<string>"
],
"searchedTransMemoryIds": [
"<string>"
],
"warnings": [
"<string>"
]
},
"results": [
{
"query": "<string>",
"termBaseMatches": [
{
"conceptId": "<string>",
"sourceTerm": {
"forbidden": true,
"locale": "<string>",
"preferred": true,
"termId": "<string>",
"text": "<string>"
},
"targetTerms": [
{
"forbidden": true,
"locale": "<string>",
"preferred": true,
"termId": "<string>",
"text": "<string>"
}
],
"termBaseId": "<string>",
"termBaseName": "<string>"
}
],
"translationMemoryMatches": [
{
"netScore": 123,
"sourceSegmentText": "<string>",
"targetSegments": [
{
"locale": "<string>",
"text": "<string>"
}
],
"transMemoryId": "<string>",
"transMemoryName": "<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.
Body
application/json
Maximum array length:
50Show child attributes
Show child attributes
When provided, only Term Bases and Translation Memories assigned to this client are searched. If not provided, all Term Bases and Translation Memories are searched.
Example:
"TZTenUqAlyWE4NmAvQRMq1"
Was this page helpful?
⌘I