Phrase TMS API

Data Types (TMS)

Content is machine translated from English by Phrase Language AI.

Request Parameters

Data Type

Sample Value




Any supported character set.



Any supported currency.


2012-07-30 17:30

Date and time in yyyy-MM-dd HH:mm format. The UTC timezone is always used when reading the date.



Identifier (ID property) of a domain object of the specified type. For example, when creating a project, id (e.g., 348) is returned in the JSON structure. This identifier can be later used to change the status of the project by setting the project=348 parameter.


A value from a fixed set of values. Each set of values (enum) has a name. Enums are always case-insensitive.


Binary data. The whole request has to be sent in multipart/form-data format. Examples of code in Java and C++.


Compatible with the file type. It also accepts handles from File AP.


{ 'id': 'xyz' }

An object of the specified type (represented using JSON notation). See below for a description of particular types.


[{ 'id': 'xyz' }]

A list of objects of the specified type (represented using JSON notation).



Any supported language code.


A list of values of another type. When calling an API action, the list is defined using the same parameter name multiple times (e.g., param=value1&param=value2).


My Project

The sequence of characters (UTF-8 encoded).



An identifier of a translation task. More job parts (if they were created by splitting the parent job part) may share the same task.

map(type, type)

A map of keys and values of a given type. When calling an API action, the map is defined using the same parameter name multiple times (e.g., map.key1=value1&map.key2=value2).


The body of an HTTP may contain these data types:

  • JSON

    Data structure (UTF-8 encoded). Each API call returning JSON contains an example of a response.

  • binary

    Binary data.

Task vs. Job Part


A task represents one translation job (i.e. file to be translated) in one target language. If one job is uploaded in more target languages, an independent task is created for every target language.

If a job is translated in multiple workflows, each workflow shares the same task but differs in workflow level. (This is why some API calls have two arguments for task and level.) A task identifier is composed of alphanumeric characters (e.g., RiYnxBD0xBY1lwhf1) while a level is identified by an integer (usually 1-10). The first level in each project that uses workflows always has identifier 1.

Jobs split into multiple parts will have the same task ID, and the parameter isParentJobSplit will be true.

Job Part

A jobPart represents a job per target language(s) and workflow steps. For instance, a single file imported to a project with 2 workflow steps and 3 target languages will result in 6 jobParts. Each jobPart can be assigned to a different Linguist or have a different due date or status.

Each jobPart can be also split into multiple jobParts which will get their own jobPart ID. A jobPart is always unique.

Object Types (used in JSON parameters)

TagMetadata {
  string id
  string type
  string content
  string transAttributes
Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.