Skip to main content
POST
/
api2
/
v2
/
analyses
Create analysis
curl --request POST \
  --url https://cloud.memsource.com/web/api2/v2/analyses \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "analyzeByLanguage": false,
  "analyzeByProvider": false,
  "callbackUrl": "<string>",
  "compareWorkflowLevel": 8,
  "countSourceUnits": true,
  "includeConfirmedSegments": true,
  "includeFuzzyRepetitions": true,
  "includeLockedSegments": true,
  "includeMachineTranslationMatches": true,
  "includeNonTranslatables": true,
  "includeNotConfirmedSegments": true,
  "includeNumbers": true,
  "includeTransMemory": true,
  "jobs": [
    {
      "uid": "3HYnHHLkTPJfMxBCDbPXFe"
    }
  ],
  "machineTranslatePostEditing": true,
  "name": "<string>",
  "nonTranslatablePostEditing": true,
  "separateFuzzyRepetitions": true,
  "skipMtScoreThreshold": 123,
  "transMemoryPostEditing": true,
  "useProjectAnalysisSettings": true
}
'
import requests

url = "https://cloud.memsource.com/web/api2/v2/analyses"

payload = {
"analyzeByLanguage": False,
"analyzeByProvider": False,
"callbackUrl": "<string>",
"compareWorkflowLevel": 8,
"countSourceUnits": True,
"includeConfirmedSegments": True,
"includeFuzzyRepetitions": True,
"includeLockedSegments": True,
"includeMachineTranslationMatches": True,
"includeNonTranslatables": True,
"includeNotConfirmedSegments": True,
"includeNumbers": True,
"includeTransMemory": True,
"jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
"machineTranslatePostEditing": True,
"name": "<string>",
"nonTranslatablePostEditing": True,
"separateFuzzyRepetitions": True,
"skipMtScoreThreshold": 123,
"transMemoryPostEditing": True,
"useProjectAnalysisSettings": 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({
analyzeByLanguage: false,
analyzeByProvider: false,
callbackUrl: '<string>',
compareWorkflowLevel: 8,
countSourceUnits: true,
includeConfirmedSegments: true,
includeFuzzyRepetitions: true,
includeLockedSegments: true,
includeMachineTranslationMatches: true,
includeNonTranslatables: true,
includeNotConfirmedSegments: true,
includeNumbers: true,
includeTransMemory: true,
jobs: [{uid: '3HYnHHLkTPJfMxBCDbPXFe'}],
machineTranslatePostEditing: true,
name: '<string>',
nonTranslatablePostEditing: true,
separateFuzzyRepetitions: true,
skipMtScoreThreshold: 123,
transMemoryPostEditing: true,
useProjectAnalysisSettings: true
})
};

fetch('https://cloud.memsource.com/web/api2/v2/analyses', 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/analyses",
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([
'analyzeByLanguage' => false,
'analyzeByProvider' => false,
'callbackUrl' => '<string>',
'compareWorkflowLevel' => 8,
'countSourceUnits' => true,
'includeConfirmedSegments' => true,
'includeFuzzyRepetitions' => true,
'includeLockedSegments' => true,
'includeMachineTranslationMatches' => true,
'includeNonTranslatables' => true,
'includeNotConfirmedSegments' => true,
'includeNumbers' => true,
'includeTransMemory' => true,
'jobs' => [
[
'uid' => '3HYnHHLkTPJfMxBCDbPXFe'
]
],
'machineTranslatePostEditing' => true,
'name' => '<string>',
'nonTranslatablePostEditing' => true,
'separateFuzzyRepetitions' => true,
'skipMtScoreThreshold' => 123,
'transMemoryPostEditing' => true,
'useProjectAnalysisSettings' => 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/v2/analyses"

payload := strings.NewReader("{\n \"analyzeByLanguage\": false,\n \"analyzeByProvider\": false,\n \"callbackUrl\": \"<string>\",\n \"compareWorkflowLevel\": 8,\n \"countSourceUnits\": true,\n \"includeConfirmedSegments\": true,\n \"includeFuzzyRepetitions\": true,\n \"includeLockedSegments\": true,\n \"includeMachineTranslationMatches\": true,\n \"includeNonTranslatables\": true,\n \"includeNotConfirmedSegments\": true,\n \"includeNumbers\": true,\n \"includeTransMemory\": true,\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"machineTranslatePostEditing\": true,\n \"name\": \"<string>\",\n \"nonTranslatablePostEditing\": true,\n \"separateFuzzyRepetitions\": true,\n \"skipMtScoreThreshold\": 123,\n \"transMemoryPostEditing\": true,\n \"useProjectAnalysisSettings\": 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/v2/analyses")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"analyzeByLanguage\": false,\n \"analyzeByProvider\": false,\n \"callbackUrl\": \"<string>\",\n \"compareWorkflowLevel\": 8,\n \"countSourceUnits\": true,\n \"includeConfirmedSegments\": true,\n \"includeFuzzyRepetitions\": true,\n \"includeLockedSegments\": true,\n \"includeMachineTranslationMatches\": true,\n \"includeNonTranslatables\": true,\n \"includeNotConfirmedSegments\": true,\n \"includeNumbers\": true,\n \"includeTransMemory\": true,\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"machineTranslatePostEditing\": true,\n \"name\": \"<string>\",\n \"nonTranslatablePostEditing\": true,\n \"separateFuzzyRepetitions\": true,\n \"skipMtScoreThreshold\": 123,\n \"transMemoryPostEditing\": true,\n \"useProjectAnalysisSettings\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://cloud.memsource.com/web/api2/v2/analyses")

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 \"analyzeByLanguage\": false,\n \"analyzeByProvider\": false,\n \"callbackUrl\": \"<string>\",\n \"compareWorkflowLevel\": 8,\n \"countSourceUnits\": true,\n \"includeConfirmedSegments\": true,\n \"includeFuzzyRepetitions\": true,\n \"includeLockedSegments\": true,\n \"includeMachineTranslationMatches\": true,\n \"includeNonTranslatables\": true,\n \"includeNotConfirmedSegments\": true,\n \"includeNumbers\": true,\n \"includeTransMemory\": true,\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"machineTranslatePostEditing\": true,\n \"name\": \"<string>\",\n \"nonTranslatablePostEditing\": true,\n \"separateFuzzyRepetitions\": true,\n \"skipMtScoreThreshold\": 123,\n \"transMemoryPostEditing\": true,\n \"useProjectAnalysisSettings\": true\n}"

response = http.request(request)
puts response.read_body
{
  "asyncRequests": [
    {
      "analyse": {},
      "asyncRequest": {
        "asyncResponse": {
          "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.

Body

application/json

Analysis to create

analyzeByLanguage
boolean

Default: false.

Example:

false

analyzeByProvider
boolean

Default: false.

Example:

false

callbackUrl
string
compareWorkflowLevel
integer<int32>

Required for type=Compare

Required range: 1 <= x <= 15
countSourceUnits
boolean

Default: true

includeConfirmedSegments
boolean

Default: true

includeFuzzyRepetitions
boolean

Default: true

includeLockedSegments
boolean

Default: true

includeMachineTranslationMatches
boolean

Default: false. Works only for type=PreAnalyse.

includeNonTranslatables
boolean

Default: false. Works only for type=PreAnalyse.

includeNotConfirmedSegments
boolean

Default: true

includeNumbers
boolean

Default: true

includeTransMemory
boolean

Default: true. Works only for type=PreAnalyse.

jobFilter
object
jobs
object[]

Job uids of jobs from the same project

Required array length: 1 - 50000 elements
machineTranslatePostEditing
boolean

Default: false. Works only for type=PostAnalyse.

name
string
Maximum string length: 255
netRateScheme
object
nonTranslatablePostEditing
boolean

Default: false. Works only for type=PostAnalyse.

provider
object
separateFuzzyRepetitions
boolean

Default: false

skipMtScoreThreshold
number<double>

Used only for Default analysis. Threshold above which the MT suggestions are not used. Default: value from PreTranslate settings

transMemoryPostEditing
boolean

Default: false. Works only for type=PostAnalyse.

type
enum<string>

default: PreAnalyse

Available options:
PreAnalyse,
PostAnalyse,
Compare
useProjectAnalysisSettings
boolean

Default: false. Use default project settings. Will be overwritten with setting sent in the API call.

Response

OK

asyncRequests
object[]

Asynchronous request for each created analysis