Skip to main content
POST
/
api2
/
v1
/
projects
/
{projectUid}
/
jobs
/
compare
Compare jobs on workflow levels
curl --request POST \
  --url https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/compare \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "jobs": [
    {
      "uid": "3HYnHHLkTPJfMxBCDbPXFe"
    }
  ]
}
'
import requests

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

payload = { "jobs": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }] }
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'}]})
};

fetch('https://cloud.memsource.com/web/api2/v1/projects/{projectUid}/jobs/compare', 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/compare",
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'
]
]
]),
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/compare"

payload := strings.NewReader("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ]\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/compare")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"jobs\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

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

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}"

response = http.request(request)
puts response.read_body
{
  "segments": [
    {
      "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

Query Parameters

atWorkflowLevel
integer<int32>
default:1

Workflow level to compare

Required range: 1 <= x <= 15
withWorkflowLevel
integer<int32>
default:1

Workflow level to compare with

Required range: 1 <= x <= 15

Body

application/json

Job parts to compare

jobs
object[]
Required array length: 1 - 100 elements

Response

OK

segments
object[]