Standards and formats
The MT API has been designed following some standards that affect how our API works. Review this information to get familiar with formats, so you can easily apply them and avoid error responses.
Timestamps
Timestamps are returned in ISO 8601 format as Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ.
Languages
The language codes in our API follow the BCP 47 format and codes schema and syntax defined in RFC.
Some examples:
| Code | Language Name* | Description |
|---|---|---|
| en-GB | English (UK) | Language + region |
| fr-CA | French as used in Canada | Language + region |
| es-419 | Spanish as used in Latin America | Language + region |
| de-DE | German (Germany) | Language + region |
*Where Language name is always in English
When specifying the MT language pairs of your need, you must pay special attention to the direction (source-target) of the language pair codes.
Semantic versioning
The MT API development follows the versioning scheme set on the semantic versioning standards. This means that all progressive changes made in our API are tracked and communicated with specific increments to the version number in the URI path.
- The version format is based on X.Y.Z scheme (Major.Minor.Patch). For example, version 1.3.11 indicates major version 1, minor version 3 and patch level 11.
- The version number is incremented in line to the level of change included in the release.
Response codes
LanguageWire MT API uses conventional HTTP response codes, as defined in the FC 2616 and RFC 6585, to indicate the success or failure of an API request. In general:
- Codes in the 2xx range indicate success.
- Codes in the 4xx range indicate an error, that failed due the information provided (e.g. a required parameter missing, an upload failed, unsupported language pair, etc.).
- Codes in the 5xx range indicate an error coming from LanguageWire servers (these are rare).
For the 4xx and 5xx the response body contains a detail field that provides information about the origin of the error. Example:
{
"detail": "Language pair (en-GB -> en-US) is not supported"
}
{
"detail": [
{
"loc": ["body", "target"],
"msg": "field required",
"type": "value_error.missing"
}
]
}
Refer to the Error handling section for more details on frequent 4xx and 5xx error messages and likely solutions.