curl --request GET \
--url https://cloud.memsource.com/web/api2/v1/projects \
--header 'Authorization: <api-key>'import requests
url = "https://cloud.memsource.com/web/api2/v1/projects"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://cloud.memsource.com/web/api2/v1/projects', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://cloud.memsource.com/web/api2/v1/projects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://cloud.memsource.com/web/api2/v1/projects")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"content": [
{
"userRole": "<string>",
"dateCreated": "2023-11-07T05:31:56Z",
"dateDue": "2023-11-07T05:31:56Z",
"domain": {
"id": "<string>",
"name": "<string>",
"uid": "<string>"
},
"id": "<string>",
"internalId": 123,
"mtSettingsPerLanguageList": [
{
"targetLang": "<string>",
"machineTranslateSettings": {
"id": "<string>",
"name": "<string>",
"type": "<string>",
"uid": "<string>"
}
}
],
"name": "<string>",
"owner": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"references": [
{
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"dateCreated": "2023-11-07T05:31:56Z",
"filename": "<string>",
"id": "<string>",
"note": "<string>",
"uid": "<string>"
}
],
"sourceLang": "<string>",
"subDomain": {
"id": "<string>",
"name": "<string>",
"uid": "<string>"
},
"targetLangs": [
"<string>"
],
"uid": "<string>"
}
],
"numberOfElements": 123,
"pageNumber": 123,
"pageSize": 123,
"sort": {
"orders": [
{
"direction": "ASC",
"property": "<string>"
}
]
},
"totalElements": 123,
"totalPages": 123
}List projects
API call to retrieve a paginated list of projects. Contains a subset of information contained in Get project API call.
Utilize the query parameters below to refine the search criteria:
- name - The full project name or a portion of it. For instance, using
name=GUIorname=02will find projects namedGUI02. - clientId - The client’s ID within the system, not interchangeable with its UID.
- clientName - The complete or partial name of the client. For example, using
clientName=GUIorclientName=02will find projects associated with the clientGUI02. - businessUnitId - The business unit’s ID within the system, not interchangeable with its UID.
- businessUnitName - The complete or partial name of the business unit. For instance, using
businessUnitName=GUIorbusinessUnitName=02will find projects linked to the business unitGUI02. - statuses - A list of project statuses. When adding multiple statuses, include each as a dedicated query
parameter, e.g.,
statuses=ASSIGNED&statuses=COMPLETED. - domainId - The domain’s ID within the system, not interchangeable with its UID. Domain is the org-configurable field used to tag/categorize a project’s content type, e.g. Marketing, Legal, Medical, Technical.
- domainName - The complete or partial name of the domain, the org-configurable field used to tag/categorize a
project’s content type (e.g. Marketing, Legal, Medical, Technical). Using
domainName=GUIordomainName=02will find projects associated with the domainGUI02. - subDomainId - The subdomain’s ID within the system, not interchangeable with its UID. Subdomain further refines the domain’s content-type/category classification.
- subDomainName - The complete or partial name of the subdomain, used together with domain to further refine a
project’s content-type/category classification. For example, using
subDomainName=GUIorsubDomainName=02will find projects linked to the subdomainGUI02. - costCenterId - The cost center’s ID within the system, not interchangeable with its UID.
- costCenterName - The complete or partial name of the cost center. For instance, using
costCenterName=GUIorcostCenterName=02will find projects associated with the cost centerGUI02. - dueInHours - Filter for jobs with due dates less than or equal to the specified number of hours. This filter
does not exclude jobs by status - jobs already
DELIVERED,COMPLETED,CANCELLED,DECLINEDorREJECTEDare still included. To match the product’s “overdue”/“delayed” definition (as used e.g. in the Time dashboard), combinedueInHours=-1withjobStatusesexcludingDELIVERED,COMPLETED,CANCELLED,DECLINEDandREJECTED. - createdInLastHours - Filter for jobs created within the specified number of hours.
- ownerId - The user ID who owns the project within the system, not interchangeable with its UID.
- jobStatuses - A list of statuses for jobs within the projects. Include each status as a dedicated query parameter,
e.g.,
jobStatuses=ASSIGNED&jobStatuses=COMPLETED. - jobStatusGroup - The name of the status group used to filter projects containing at least one job with the specified status, similar to the status filter in the Projects list for a Linguist user.
- buyerId - The Buyer’s ID.
- templateUid - The UID of the project template the project was created from.
- pageNumber - Indicates the desired page number (zero-based) to retrieve. The total number of pages is returned in
the
totalPagesfield within each response. - pageSize - Indicates the page size, affecting the
totalPagesretrieved in each response and potentially influencing the number of iterations needed to obtain all projects. - nameOrInternalId - Specify either the project name or Internal ID (the sequence number in the project list displayed in the UI).
- includeArchived - A boolean parameter to include archived projects in the search.
- archivedOnly - A boolean search indicating whether only archived projects should be searched.
curl --request GET \
--url https://cloud.memsource.com/web/api2/v1/projects \
--header 'Authorization: <api-key>'import requests
url = "https://cloud.memsource.com/web/api2/v1/projects"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://cloud.memsource.com/web/api2/v1/projects', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://cloud.memsource.com/web/api2/v1/projects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://cloud.memsource.com/web/api2/v1/projects")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.memsource.com/web/api2/v1/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"content": [
{
"userRole": "<string>",
"dateCreated": "2023-11-07T05:31:56Z",
"dateDue": "2023-11-07T05:31:56Z",
"domain": {
"id": "<string>",
"name": "<string>",
"uid": "<string>"
},
"id": "<string>",
"internalId": 123,
"mtSettingsPerLanguageList": [
{
"targetLang": "<string>",
"machineTranslateSettings": {
"id": "<string>",
"name": "<string>",
"type": "<string>",
"uid": "<string>"
}
}
],
"name": "<string>",
"owner": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"references": [
{
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"role": "SYS_ADMIN",
"uid": "<string>",
"userName": "<string>"
},
"dateCreated": "2023-11-07T05:31:56Z",
"filename": "<string>",
"id": "<string>",
"note": "<string>",
"uid": "<string>"
}
],
"sourceLang": "<string>",
"subDomain": {
"id": "<string>",
"name": "<string>",
"uid": "<string>"
},
"targetLangs": [
"<string>"
],
"uid": "<string>"
}
],
"numberOfElements": 123,
"pageNumber": 123,
"pageSize": 123,
"sort": {
"orders": [
{
"direction": "ASC",
"property": "<string>"
}
]
},
"totalElements": 123,
"totalPages": 123
}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.
Query Parameters
NEW, ASSIGNED, COMPLETED, ACCEPTED_BY_VENDOR, DECLINED_BY_VENDOR, COMPLETED_BY_VENDOR, CANCELLED -1 for projects with jobs due in the past. Does not exclude jobs by status - DELIVERED, COMPLETED, CANCELLED, DECLINED and REJECTED jobs are still matched. Combine with jobStatuses (excluding DELIVERED, COMPLETED, CANCELLED, DECLINED and REJECTED) to match the product's "overdue" definition.
x >= -1x >= 0Allowed for linguists only
NEW, ACCEPTED, DECLINED, DELIVERED, EMAILED, COMPLETED, CANCELLED Allowed for linguists only
NEW, ACCEPTED, COMPLETED UID of the project template the project was created from
Page number, starting with 0, default 0
x >= 0Page size, accepts values between 1 and 50, default 50
1 <= x <= 50Name or internal ID of project
List also archived projects
List only archived projects, regardless of includeArchived
ID, INTERNAL_ID, NAME, DATE_CREATED, DATE_ARCHIVED ASC, DESC Was this page helpful?