Download OpenAPI specification:Download
Before you begin using the Smartling APIs, we recommend going through our Developer documentation.
Smartling uses OAuth2 for authentication. To access the Smartling APIs, you'll first need to authenticate with your user identifier and user secret. An access token is returned that can be attached to the header of any API request. A refresh token is also returned.
To obtain your user identifier and user secret,
log in to Smartling.com and go to API > Create Token. Authenticating is as
simple as calling the /api.smartling.com/auth-api/v2/authenticate
with
your userIdentifier
and userSecret
. The access token returned is valid
for 5-minutes, and is used in the header of all subsequent requests.
Example for generating your access token:
curl -X POST https://api.smartling.com/auth-api/v2/authenticate -H 'content-type: application/json' -d '{"userIdentifier": "userIdasdklj4348dk34!", "userSecret": "userSecret34i34kkd5634f"}'
{
"response": {
"code": "SUCCESS",
"data": {
"accessToken": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOasdlkjn",
"refreshToken": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJkMTdkMmEw",
"expiresIn": 480,
"refreshExpiresIn": 3660,
"tokenType": "Bearer"
}
}
}
Example of using your access token to list all projects for your account:
curl -X GET -H "Authorization: Bearer {accessToken}" https://api.smartling.com/accounts-api/v2/accounts/{accountUid}/projects
{
"response": {
"code": "SUCCESS",
"data": {
"totalCount": 1,
"items": [{
"projectId": "df324sdf5",
"projectName": "iOS Strings files",
"accountUid": "ab5f1939",
"archived": false,
"projectTypeCode": "APPLICATION_RESOURCES",
"sourceLocaleId": "en",
"sourceLocaleDescription": "English"
}
]
}
}
}
Verifies the credentials of the connection attempt.
Authentication Request
userIdentifier required | string Unique integer used to identify a user. |
userSecret required | string A personal code that identifies an authorized user of the API endpoint. |
{- "userIdentifier": "Qw**********",
- "userSecret": "Zj**********"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "accessToken": "b816424c-2e95-11e7-93ae-92361f002671",
- "expiresIn": 480,
- "refreshExpiresIn": 3660,
- "refreshToken": "c0a6f410-2e95-11e7-93ae-92361f002671",
- "tokenType": "Bearer"
}
}
}
A renewed access token that can be attached to the header of any API request.
Refresh token request
refreshToken required | string The refresh token returned from a previous authentication request. |
{- "refreshToken": "string"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "accessToken": "string",
- "expiresIn": 0,
- "refreshExpiresIn": 0,
- "refreshToken": "string",
- "tokenType": "Bearer"
}
}
}
Each client within Smartling is given their own account with a designated
accountUid
. Within each account is any number of projects. All files,
content, and jobs are tied to a particular project. The Accounts &
Projects API will allow you to programmatically find and use the projects
within your account.
You may wish to reference the Key Concepts for Developers article to better understand how content is organized within Smartling.
Returns the list of projects for the account.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectNameFilter | string Substring search of the name of the project. Search is case insensitive. |
includeArchived | boolean Indicator whether or not archived projects should be returned. Defaults to false if not specified. |
offset | integer Standard Smartling limit and offset to paginate through results. |
limit | integer Standard Smartling limit and offset to paginate through results. 500 projects are returned by default if not specified. |
projectTypeCode | string Indicator for the type of the project. |
projectTypeCodes | Array of strings Indicator list for the type of the projects. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/accounts-api/v2/accounts/$smartlingAccountId/projects
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "accountUid": "at724e365",
- "archived": false,
- "projectId": "fd7244365",
- "projectName": "Android XML Content",
- "projectTypeCode": "APPLICATION_RESOURCES",
- "sourceLocaleDescription": "English",
- "sourceLocaleId": "en-US"
}, - {
- "accountUid": "at724e365",
- "archived": false,
- "projectId": "eqb7243x5",
- "projectName": "Marketing Website GDN",
- "projectTypeCode": "GDN",
- "sourceLocaleDescription": "English",
- "sourceLocaleId": "en-US"
}
], - "totalCount": 2
}
}
}
Returns the details of a project.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
includeDisabledLocales | boolean Indicator whether or not disabled locales configured for the project should be returned as part of the targetLocales. By default disabled target locales are not returned. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/projects-api/v2/projects/$smartlingProjectId
{- "response": {
- "code": "SUCCESS",
- "data": {
- "accountUid": "at724e365",
- "archived": false,
- "projectId": "fd7244365",
- "projectName": "Android XML Content",
- "projectTypeCode": "APPLICATION_RESOURCES",
- "sourceLocaleDescription": "English",
- "sourceLocaleId": "en-US",
- "targetLocales": [
- {
- "description": "German (Germany)",
- "enabled": true,
- "localeId": "de-DE"
}
]
}
}
}
Add a new target locale to the project.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
defaultWorkflowUid | string The default workflow that should be used when content is authorized. If not specified, the default workflow configured for the project will be used. |
localeId | string The locale identifier (localeId) of the locale to be added to the project. |
{- "defaultWorkflowUid": "ac48ht4qy",
- "localeId": "ru-RU"
}
{- "response": {
- "code": "SUCCESS",
- "data": [
- {
- "accountUid": "at724e365",
- "archived": false,
- "projectId": "fd7244365",
- "projectName": "Android XML Content",
- "projectTypeCode": "APPLICATION_RESOURCES",
- "sourceLocaleDescription": "English",
- "sourceLocaleId": "en-US",
- "targetLocales": [
- {
- "description": "German (Germany)",
- "enabled": true,
- "localeId": "de-DE"
}, - {
- "description": "Russian (Russia)",
- "enabled": true,
- "localeId": "ru-RU"
}
]
}
]
}
}
Make a copy of an existing project, thereby creating a new one with a new name
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectName | string The name of the new project to create. |
targetLocaleIds | Array of strings The list of target locales the new project should be created for. Note, each target locale specified must valid within the source project you are copying, i.e. you can copy all or a subset of locales from the source project to the target project. |
{- "projectName": "New Android Project",
- "targetLocaleIds": [
- "ru-RU"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "7908ae61-3489-48e1-9e28-10652634d34e"
}
}
}
Used to check if the copy project request is complete and to retrieve the new projectId
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
processUid required | string The uid of the process to check for |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "createdDate": "2016-08-21T0B1:51:17Z",
- "modifiedDate": "2016-08-21T0B1:51:17Z",
- "newProjectUid": "8t7q4d643",
- "processState": "OPEN",
- "processStatistics": {
- "errored": 0,
- "processed": 6,
- "requested": 8,
- "skipped": 0
}, - "processuid": "7908ae61-3489-48e1-9e28-10652634d34e"
}
}
}
Locales are the language and country pairs that are used to identify the source content and the desired target locale for your translated content.
The list of available locales within Smartling.
To find out the localedID
for a specific project, refer to Get project
details.
localeIds | Array of strings Optional parameter to filter to the specified list of locales. |
supportedOnly | boolean Fetch only supported locales. Otherwise fetch all locales. Default value is "true". |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "description": "English",
- "mtSupported": true,
- "language": {
- "description": "English",
- "direction": "RTL",
- "languageId": "en",
- "wordDelimiter": "CHARACTER"
}, - "localeId": "en-US",
- "direction": "RTL",
- "country": {
- "countryId": "US",
- "description": "United States"
}
}, - {
- "description": "Italian (Italy) [it-IT]",
- "mtSupported": true,
- "language": {
- "description": "Italian",
- "direction": "RTL",
- "languageId": "it",
- "wordDelimiter": "CHARACTER"
}, - "localeId": "it-IT",
- "direction": "RTL",
- "country": {
- "countryId": "IT",
- "description": "Italy"
}
}
], - "totalCount": 2
}
}
}
Smartling users, who process and translate content with the Smartling platform.
userUids | Array of strings List of user uids. |
excludeProfileImage | boolean As a performance optimization, exclude the user's profile image. |
{- "userUids": [
- "ac48ht4qy"
], - "excludeProfileImage": false
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "userUid": "ac48ht4qy",
- "firstName": "user first name 1",
- "lastName": "user last name 1",
- "createdDate": 1704110400000
}
], - "totalCount": 1
}
}
}
Files are typically how you can exchange your content with Smartling to get translations. Smartling supports a wide variety of file types. When you upload a file to Smartling, it gets parsed into strings, which will then be sent into the translation queue.
The complete list of supported file types is available here. For information on file directives, please refer to the documentation for each specific file type.
This uploads original source content to Smartling.
The curl example provided will upload your Java properties file directly
into the Smartling project identified by the projectId
. Smartling will
ingest this file, parse out the keys and text as strings for
translation. At this point, content is ready for translation.
projectId required | string <uid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
file required | string <binary> The file contents to upload. |
fileUri required | string A value that uniquely identifies the uploaded file. This ID can be used to request the file back. We recommend that you use file path and file name, similar to how version control systems identify the file. Example: |
fileType required | string (FileType) Enum: "android" "ios" "gettext" "html" "java_properties" "xliff" "xml" "json" "docx" "pptx" "xlsx" "idml" "qt" "resx" "plain_text" "csv" "srt" "stringsdict" "xls" "doc" "ppt" "pres" "madcap" "yaml" "markdown" A unique identifier for the file type. |
smartling.namespace | string This is only for accounts created after July 31st, 2015. Define a custom namespace for the file. Note: While this parameter shares the format of other file directives, it will not work as an inline directive and must be specified in the API call. |
smartling.file_charset | string Specifies a custom charset for text-format files. The value should be the name of the character set. See a full list of supported character sets here. If this directive is not used, Smartling will use the
Note: Once this property has been set for a file, it cannot be changed. If you reupload the file, it will use the original charset, even if you change the directive. An error will be returned if this directive is used when uploading binary-format file types, such as Office or IDML files. |
smartling.[command] | string Provides custom parser configuration for supported file types. See Supported File Types for more details. |
callbackUrl | string <url> <= 255 characters A GET request that creates a callback to a URL when all authorized strings from a file are 100%
published for a locale.* The callback gives the
fileUri and locale with the format
If a callback fails, Smartling will make multiple attempts to reach the designated URL. However, we do not keep retrying a failed callback indefinitely. Try to make sure your callback URL is as stable as possible and be aware that callbacks are not a 100% reliable way of being notified that a file is published. If the upload has begun but is taking more than a minute to
complete, it responds with a *This is the default behavior. There are cases when the callback could be triggered even when not all authorized strings are published, depending on your project configuration. Contact your Smartling Representative if you have questions about your project’s callback configuration. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -F "file=@$uploadFilePath;type=text/plain" -F "fileUri=$uploadFileSmartlingUri" -F "fileType=$uploadFileSmartlingType" "https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file"
{- "response": {
- "code": "SUCCESS",
- "data": {
- "overWritten": true,
- "stringCount": 10,
- "wordCount": 2
}
}
}
This downloads the original version of the requested file from Smartling.
It is important to check the HTTP response status code. If Smartling
finds and returns the file normally, you will receive a 200
SUCCESS
response. If you receive a response status code other than 200
, the
requested file will not be part of the response.
When you upload a UTF-16 character encoded file, then /file/get requests for that file will have a character encoding of UTF-16. All other uploaded files will return with a character encoding of UTF-8.
You can always use the content-type header in the response of a file/get request to determine the character encoding.
The filename is based on the fileUri associated with the requested file. In most cases, the filename is exactly the fileUri provided. The only exception to this is with .pot gettext files. When a .pot file is specified as the fileUri, Smartling returns a .po file.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUri required | string Value that uniquely identifies the downloaded file. |
curl -H "Authorization: Bearer $smartlingToken" -G --data-urlencode "fileUri=$smartlingFileUri" "https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file"
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": [
- {
- "key": "unknown.field",
- "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
- "details": { }
}
]
}
}
Returns information on a specific file.
Example:
curl -X GET -H "Authorization: Bearer {token}" 'https://api.smartling.com/files-api/v2/projects/{projectId}/file/status?fileUri=file.properties'
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUri required | string Smartling value that uniquely identifies a file in Smartling |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "created": "2017-09-06T20:29:15Z",
- "directives": {
- "file_uri_as_namespace": "true"
}, - "fileType": "csv",
- "fileUri": "/files/test_translation_import.csv",
- "hasInstructions": false,
- "items": [
- {
- "authorizedStringCount": 0,
- "authorizedWordCount": 0,
- "completedStringCount": 0,
- "completedWordCount": 0,
- "excludedStringCount": 0,
- "excludedWordCount": 0,
- "localeId": "ru-RU"
}
], - "lastUploaded": "2017-09-06T20:29:15Z",
- "namespace": {
- "name": "/files/test_trans_import.csv"
}, - "parserVersion": 4,
- "totalCount": 1,
- "totalStringCount": 1,
- "totalWordCount": 1
}
}
}
Returns detailed status information on a specific file.
Example:
curl -X GET -H "Authorization: Bearer {token}" 'https://api.smartling.com/files-api/v2/projects/{projectId}/locales/{localeId}/file/status?fileUri=file.properties'
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
localeId required | string Identifier for a locale. |
fileUri required | string Smartling value that uniquely identifies a file in Smartling |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "authorizedStringCount": 4,
- "authorizedWordCount": 5,
- "completedStringCount": 0,
- "completedWordCount": 0,
- "created": "2017-05-27T12:45:36Z",
- "excludedStringCount": 0,
- "excludedWordCount": 0,
- "fileType": "javaProperties",
- "fileUri": "/files/4.properties",
- "hasInstructions": false,
- "lastUploaded": "2017-05-27T12:45:36Z",
- "parserVersion": 4,
- "totalStringCount": 5,
- "totalWordCount": 9
}
}
}
This downloads the requested file from Smartling.
It is important to check the HTTP response status code. If Smartling
finds and returns the file normally, you will receive a 200
SUCCESS
response. If you receive any other response status code other than
200
, the requested file will not be part of the response.
When you upload a UTF-16 character encoded file, then /file/get requests for that file will have a character encoding of UTF-16. All other uploaded files will return with a character encoding of UTF-8.
You can always use the content-type header in the response of a file/get request to determine the character encoding.
Note: The filename in the response header is based on the fileUri associated with the requested file. In most cases, the filename is exactly the fileUri provided. The only exception to this is with .pot gettext files. When a .pot file is specified as the fileUri, Smartling returns a .po file.`
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
localeId required | string Identifier for a locale. |
fileUri required | string Value that uniquely identifies the downloaded file | ||||||||||
retrievalType | string Enum: "pending" "published" "pseudo" "contextMatchingInstrumented" Determines the desired format for the download. Applies to translated files only.
| ||||||||||
includeOriginalStrings | boolean Specifies whether Smartling will return the original string or an empty string where no translation is available. This parameter is only supported for Android XML, gettext, Java properties, custom XML, JSON, and XLIFF files.
|
curl -H "Authorization: Bearer $smartlingToken" -o $smartlingLocaleId$smartlingFileUri -G --data-urlencode "fileUri=$smartlingFileUri" "https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file"
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": [
- {
- "key": "unknown.field",
- "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
- "details": { }
}
]
}
}
Download a ZIP archive with all translations for the requested file.
Unlike the "Download translated file" endpoint, you get a ZIP archive with all translations of a specific file.
It is important to check the HTTP response status code. If Smartling
finds and returns the file normally, you will receive a 200
SUCCESS
response. If you receive any other response status code than 200
, the
requested files will not be part of the response.
When you upload a UTF-16 character encoded file, then /file/get requests for that file will have a character encoding of UTF-16. All other uploaded files will return with a character encoding of UTF-8.
You can always use the content-type header in the response of a file/get request to determine the character encoding.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUri required | string Smartling value that uniquely identifies a file in Smartling | ||||||||||
retrievalType | string Enum: "pending" "published" "pseudo" "contextMatchingInstrumented" Determines the desired format for the download. Applies to translated files only.
| ||||||||||
includeOriginalStrings | boolean Specifies whether Smartling will return the original string or an empty string where no translation is available. This parameter is only supported for Android XML, gettext, Java properties, custom XML, and JSON files.
| ||||||||||
zipFileName | string Name for the downloaded zip file. If unset, the default is |
curl -X GET -H "Authorization: Bearer $smartlingToken" 'https://api.smartling.com/files-api/v2/projects/{projectId}/locales/all/file/zip?fileUri=yourfile.json&retrievalType=published'
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": [
- {
- "key": "unknown.field",
- "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
- "details": { }
}
]
}
}
Download ZIP archive with the requested translated files.
Unlike "Download all translations of the file" you can specify multiple file URIs (limit is 300 files) and locale IDs to select which files and languages you want to download.
It is important to check the HTTP response status code. If Smartling
finds and returns the file normally, you will receive a 200
SUCCESS
response. If you receive any other response status code than 200
, the
requested files will not be part of the response.
When you upload a UTF-16 character encoded file, then /file/get requests for that file will have a character encoding of UTF-16. All other uploaded files will return with a character encoding of UTF-8.
You can always use the content-type header in the response of a file/get request to determine the character encoding.
Example:
curl -X GET -H "Authorization: Bearer {token}" 'https://api.smartling.com/files-api/v2/projects/{projectId}/files/zip?localeIds[]=de-DE&fileUris[]=yourfile.json'
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUris[] required | Array of strings Smartling values that each uniquely identify a file. The limit is 300 files. | ||||||||||
localeIds[] required | Array of strings List of locales to download. | ||||||||||
retrievalType | string Enum: "pending" "published" "pseudo" "contextMatchingInstrumented" Determines the desired format for the download. Applies only to translated files.
| ||||||||||
includeOriginalStrings | boolean Specifies whether Smartling will return the original string or an empty string where no translation is available. This parameter is only supported for Android XML, gettext, Java properties, custom XML, and JSON files.
| ||||||||||
fileNameMode | string Enum: "UNCHANGED" "TRIM_LEADING" "LOCALE_LAST" Determines how files in the ZIP file will be named. If not set, the full original file path will be used as the filename.
| ||||||||||
localeMode | string Enum: "LOCALE_IN_PATH" "LOCALE_IN_NAME" "LOCALE_IN_NAME_AND_PATH" Determines how locales will be handled in the downloaded zip
| ||||||||||
zipFileName | string Name for the downloaded ZIP file. If unset, default is |
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": [
- {
- "key": "unknown.field",
- "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
- "details": { }
}
]
}
}
This lists recently uploaded files, and returns a maximum of 100 files.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
uriMask | string Returns only files with a URI containing the given substring. Case is ignored. For example, the value |
fileTypes[] | Array of strings (FileType) Items Enum: "android" "ios" "gettext" "html" "java_properties" "xliff" "xml" "json" "docx" "pptx" "xlsx" "idml" "qt" "resx" "plain_text" "csv" "srt" "stringsdict" "xls" "doc" "ppt" "pres" "madcap" "yaml" "markdown" |
lastUploadedAfter | string <YYYY-MM-DDThh:mm:ssZ> Returns all files uploaded after the specified date. |
lastUploadedBefore | string <YYYY-MM-DDThh:mm:ssZ> Returns all files uploaded before the specified date. |
orderBy | string Enum: "created" "fileUri" "lastUploaded" "created_asc" "created_desc" "fileUri_asc" "fileUri_desc" "lastUploaded_asc" "lastUploaded_desc" Sets the name and direction of the parameter to order results by. If ascending or descending is not specified, the default is ascending |
limit | integer Default: 100 In order to get consistent pagination, make sure to specify the |
offset | integer Default: 0 Standard Smartling limit and offset to paginate through results. |
curl -H "Authorization: Bearer $smartlingToken" "https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/files/list?fileTypes[]=json&uriMask=strings"
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "created": "2017-09-06T20:29:15Z",
- "fileType": "csv",
- "fileUri": "/files/translation_import.csv",
- "hasInstructions": false,
- "lastUploaded": "2017-09-06T20:29:15Z"
}, - {
- "created": "2017-05-27T12:45:36Z",
- "fileType": "javaProperties",
- "fileUri": "/files/4.properties",
- "hasInstructions": false,
- "lastUploaded": "2017-05-27T12:45:36Z"
}
], - "totalCount": 2
}
}
}
This returns a list of all file types currently represented in the project.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
curl -H "Authorization: Bearer $smartlingToken" "https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file-types"
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- "csv",
- "javaProperties"
]
}
}
}
This renames an uploaded file by changing the fileUri
. After renaming the file, it will only be identified by the new fileUri
that you provide.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUri required | string Current value that uniquely identifies the file |
newFileUri required | string The new value for fileUri. We recommend that you use file path and file name, similar to how version control systems identify the file. Example: /myproject/i18n/ui.properties. This must be a fileUri that does not exist in the current Smartling project. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -F "fileUri=filename.properties" -F "newFileUri=filename2.properties" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file/rename'
{- "response": {
- "code": "SUCCESS",
- "data": null
}
}
This removes the file from Smartling. The file will no longer be available for download. Any complete translations for the file remain available for use within the system.
Smartling deletes files asynchronously and it typically takes a few minutes to complete. While deleting a file, you can not upload a file with the same fileUri
.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUri required | string Smartling value that uniquely identifies a file in Smartling |
curl -X POST -H "Authorization: Bearer $smartlingToken" -F "fileUri=filename.properties" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file/delete'
{- "response": {
- "code": "SUCCESS"
}
}
This returns the date that a file was last modified in a specified locale.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
localeId required | string Identifier for a locale. |
fileUri required | string A unique identifier for a file in Smartling. |
lastModifiedAfter | string <YYYY-MM-DDThh:mm:ssZ> Limits the return to only those file and locale combinations that have a |
curl -X GET -H "Authorization: Bearer $smartlingToken" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file/last-modified?fileUri=filename.properties'
{- "response": {
- "code": "SUCCESS",
- "data": {
- "lastModified": "2017-09-06T20:25:18Z",
- "localeId": "ru-RU"
}
}
}
This returns the date that a file was last modified in each locale.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUri required | string A unique identifier for a file in Smartling. |
lastModifiedAfter | string <YYYY-MM-DDThh:mm:ssZ> Limits the return to only those file and locale combinations that have a |
curl -X GET -H "Authorization: Bearer $smartlingToken" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file/last-modified?fileUri=filename.properties'
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "lastModified": "2017-09-06T20:25:18Z",
- "localeId": "ru-RU"
}
], - "totalCount": 1
}
}
}
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
localeId required | string Identifier for a locale. |
file required | string <binary> The file contents to upload. | ||||||
fileUri required | string The Smartling URI for a file that contains the original language strings that are already uploaded to Smartling. | ||||||
fileType required | string Enum: "android" "ios" "gettext" "html" "java_properties" "xliff" "xml" "json" "docx" "pptx" "xlsx" "idml" "qt" "resx" "plain_text" "csv" "srt" "stringsdict" "xls" "doc" "ppt" "pres" "madcap" "yaml" "markdown" A unique identifier for the file type. To allow translation imports, XML and JSON files must be uploaded with | ||||||
translationState required | string Enum: "PUBLISHED" "POST_TRANSLATION" Value indicating the workflow state to import the translations into. Content will be imported into the language's default workflow.
| ||||||
overwrite | boolean Whether or not to overwrite existing translations. |
curl -H "Authorization: Bearer $smartlingToken" -F "file=@filename.properties" -F "fileUri=filename.properties" -F "fileType=javaProperties" -F "translationState=PUBLISHED" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file/import'
{- "response": {
- "code": "SUCCESS",
- "data": {
- "stringCount": 3,
- "translationImportErrors": [ ],
- "wordCount": 6
}
}
}
Temporarily uploads a file, then returns a translated version for requested locales.
This call can be used instead of a standard upload/download if you keep different versions of a file in multiple branches or are triggering rebuilds, and don’t want your files in Smartling to be overwritten by out-of-date versions of a file.
To use the call, you upload a file and identify the Smartling URI where the main version of that file is saved. Smartling will match strings shared between the uploaded file and the main file and return any available translations.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
localeId required | string Identifier for a locale. |
file required | string <binary> The file contents to upload. | ||||||||||
fileUri required | string The Smartling URI for a file that contains the original language strings that are already uploaded to Smartling | ||||||||||
retrievalType | string Enum: "pending" "published" "pseudo" "contextMatchingInstrumented" Determines the desired format for the download. Applies to translated files only.
| ||||||||||
includeOriginalStrings | boolean Specifies whether Smartling will return the original string or an empty string where no translation is available. This parameter is only supported for Android XML, gettext, Java properties, custom XML, and JSON files.
|
curl -H "Authorization: Bearer $smartlingToken" -F "file=@filename.properties" -F 'fileUri=filename.properties' 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file/get-translations'
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": [
- {
- "key": "unknown.field",
- "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
- "details": { }
}
]
}
}
Response is limited to files published after 14 days from the time called.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
publishedAfter required | string <YYYY-MM-DDThh:mm:ssZ> Limits the response to only those files that have a |
fileUris[] | Array of strings A list of fileUris to filter the response list by. Value must be exact match. Up to 20 fileUris can be specified. See getRecentlyUploadedSourceFilesList to get a project's fileUris. |
localeIds[] | Array of strings A list of locale identifiers to filter the response list by. Up to 50 localeIds can be specified. See getProjectDetails to get a project's localeIds. |
offset | integer Standard Smartling limit and offset to paginate through results. Default value is 0. |
limit | integer Standard Smartling limit and offset to paginate through results. Limit is not applied if this parameter is not specified. |
curl -H "Authorization: Bearer $smartlingToken" 'https://api.smartling.com/published-files-api/v2/projects/$smartlingProjectId/files/list/recently-published?publishedAfter=2019-11-21T11:51:17Z&fileUris[]=files/example1.json&localeIds[]=fr-CA&limit=10&offset=100'
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "fileUri": "files/example1.json",
- "localeId": "fr-CA",
- "publishDate": "2019-11-21T11:51:17Z"
}
], - "totalCount": 1
}
}
}
The Smartling platform offers state-of-the-art Machine Translation capabilities through its synchronous account-level Machine Translation API. This API enables seamless translation of content without the need for it to be processed through Smartling Workflows. The API offers access to all MT Profiles, including the highly efficient MT Autoselect feature, providing unparalleled flexibility and control over your translation needs.
Machine Translation (MT) using preconfigured MT Profile. Input and output text format is HTML.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
sourceLocaleId required | string Locale ID of the original text |
targetLocaleId required | string Locale ID of the requested translation |
required | Array of objects (MTTranslateItemRequest) <= 1000 items |
{- "sourceLocaleId": "en-US",
- "targetLocaleId": "de-DE",
- "items": [
- {
- "key": "my-key-1",
- "sourceText": "Text to translate"
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "key": "key-from-request",
- "translationText": "Translated text"
}
]
}
}
}
The File Translations API offers a simple way to upload files and execute actions on them without any complex setup required. All resource-intensive actions are performed asynchronously and return an actionUid. By polling the API with the provided actionUid, you can easily monitor the progress of your file-based tasks in real time.
Upload a file to use for asynchronous tasks like language detection or machine translation. Maximum file size is 200MB.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
required | object |
file required | string <binary> The file contents to upload. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -H "Content-Type:multipart/form-data" -F "request={\"fileType\":\"PLAIN_TEXT\"};type=application/json" -F "file=@/Users/smartling/Downloads/test.txt;type=application/octet-stream" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files
{- "response": {
- "code": "SUCCESS",
- "data": {
- "fileUid": "7ntwcv0rdj95"
}
}
}
Perform translation for a previously uploaded file given a source locale and a set of target locales.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
sourceLocaleId required | string Source locale of the uploaded file. |
targetLocaleIds required | Array of strings List of target locales that the file needs to be translated into. |
{- "sourceLocaleId": "en-US",
- "targetLocaleIds": [
- "de-DE",
- "fr-FR"
]
}
{- "response": {
- "code": "ACCEPTED",
- "data": {
- "mtUid": "h5dhjbg1ganp"
}
}
}
Get progress for an ongoing file translation action. Progress is reported on a per locale basis, but will also include an aggregate state for all locales.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
mtUid required | string Unique identifier of machine translation action triggered on a file. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files/$smartlingFtsFileUid/mt/$smartlingMtUid/status
{- "response": {
- "code": "SUCCESS",
- "data": {
- "state": "CANCELED",
- "requestedStringCount": 100,
- "error": null,
- "localeProcessStatuses": [
- {
- "localeId": "de-DE",
- "state": "CANCELED",
- "processedStringCount": 67,
- "error": null
}, - {
- "localeId": "fr-FR",
- "state": "COMPLETED",
- "processedStringCount": 100,
- "error": null
}, - {
- "localeId": "fr-CA",
- "state": "FAILED",
- "processedStringCount": 0,
- "error": {
- "key": "generalError",
- "message": "Sorry, something went wrong. We notified the responsible team. If you still need to contact us please provide this error code: jtcorrr3",
- "details": {
- "errorId": "jtcorrr3"
}
}
}
]
}
}
}
Download translated file for a specific locale. The download is allowed only if translation to the requested locale has been fully completed.
It is important to check the HTTP response status code. If Smartling
finds and returns the file normally, you will receive a 200
SUCCESS
response. If you receive any other response status code than 200
, the
requested files will not be part of the response.
When you upload a UTF-16 character encoded file, then /file/get requests for that file will have a character encoding of UTF-16. All other uploaded files will return with a character encoding of UTF-8.
You can always use the content-type header in the response of a file/get request to determine the character encoding. The output filename is based on the original file name, that was provided during initial upload call.
Note: for GETTEXT files we're going to return file extension as .po even if during the initial file upload it was uploaded with .pot file extension.
localeId required | string One of translation requested with prior call to File MT end point. |
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
mtUid required | string Unique identifier of machine translation action triggered on a file. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files/$smartlingFtsFileUid/mt/$smartlingMtUid/locales/{$smartlingLocaleId}/file
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": {
- "key": "locale.not.requested",
- "message": "Processing request did not contain locale de-DE",
- "details": {
- "field": "localeId"
}
}
}
}
Download a ZIP archive of translated files for all requested locales.
Unlike the "Download translated file (single locale)" endpoint, you get a ZIP archive with all translations of a specific file.
It is important to check the HTTP response status code. If Smartling
finds and returns the file normally, you will receive a 200
SUCCESS
response. If you receive any other response status code than 200
, the
requested files will not be part of the response.
When you upload a UTF-16 character encoded file, then /file/get requests for that file will have a character encoding of UTF-16. All other uploaded files will return with a character encoding of UTF-8.
You can always use the content-type header in the response of a file/get request to determine the character encoding.
Zip archive can only be downloaded if translation to all locales has completed (overall state has to be in COMPLETED or CANCELLED states) and if there is at least one locale which has COMPLETED state.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
mtUid required | string Unique identifier of machine translation action triggered on a file. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files/$smartlingFtsFileUid/mt/$smartlingMtUid/locales/{$smartlingLocaleId}/file
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": {
- "key": "mt.not.completed",
- "message": "State of processing is QUEUED. Only COMPLETED,CANCELED allow final file to be downloaded",
- "details": {
- "field": "mtUid"
}
}
}
}
Cancel an ongoing file translation at any point during the translation process. If file translation is complete or has already been cancelled, calling this endpoint will have no effect.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
mtUid required | string Unique identifier of machine translation action triggered on a file. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -H "Content-Type:application/json" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files/$smartlingFtsFileUid/mt/$smartlingMtUid/cancel
{- "response": {
- "code": "SUCCESS",
- "data": { }
}
}
Request source language detection for an existing file.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
curl -X POST -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files/$smartlingFtsFileUid/language-detection
{- "response": {
- "code": "ACCEPTED",
- "data": {
- "languageDetectionUid": "h5dhjbg1ganp"
}
}
}
Get progress for an ongoing source language detection action. Result of language detection is propagated to response as soon as state changes to COMPLETED.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fileUid required | string Unique identifier of the uploaded file. |
languageDetectionUid required | string Unique identifier of language detection action triggered on a file. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/file-translations-api/v2/accounts/$smartlingAccountId/files/$smartlingFtsFileUid/language-detection/$smartlingLanguageDetectionUid/status
{- "response": {
- "code": "SUCCESS",
- "data": {
- "state": "COMPLETED",
- "error": null,
- "detectedSourceLanguages": [
- {
- "languageId": "de",
- "defaultLocaleId": "de-DE"
}, - {
- "languageId": "no",
- "defaultLocaleId": "no-NO"
}
]
}
}
}
A Smartling project (such as a mobile, web, files, or connector project) may contain one or more jobs. You may have multiple projects, each containing multiple jobs. Each job contains strings, consisting of words or phrases.
The Jobs feature allows you to group and prioritize your content by name, due date, description, and reference number (optional). It also enables you to monitor the progress of your translations throughout completion.
The Jobs API allows you to create a job, add a file to a job, authorize a job, and cancel a job, among many other actions. You have full control via the API to manage your job(s).
List / search the jobs within an account.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
jobName | string Used for searching jobs by |
projectIds | Array of strings Used for searching jobs by |
translationJobStatus | Array of strings Items Enum: "DRAFT" "AWAITING_AUTHORIZATION" "IN_PROGRESS" "COMPLETED" "CANCELLED" "CLOSED" "DELETED" Used for searching jobs by their status. |
withPriority | boolean If set to |
limit | integer The limit on the number of jobs returned. |
offset | integer The offset to use when searching for jobs. |
sortBy | string Enum: "createdDate" "priority" The field to sort by. |
sortDirection | string Enum: "ASC" "DESC" The direction to sort. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/jobs-api/v3/accounts/$smartlingAccountId/jobs
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "createdDate": "2015-11-21T11:51:17Z",
- "description": "my job description",
- "dueDate": "2015-11-21T11:51:17Z",
- "jobName": "myJobName",
- "jobNumber": "SMTL-123",
- "jobStatus": "IN_PROGRESS",
- "priority": 2,
- "projectId": "fd7244365",
- "referenceNumber": "myReferenceNumber1",
- "targetLocaleIds": [
- "fr-FR",
- "es"
], - "translationJobUid": "abc123abc"
}
], - "totalCount": 1
}
}
}
List / search the jobs within a project.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
jobName | string Used for searching jobs by |
jobNumber | string Example: jobNumber=SMTL-123 Used for searching jobs by |
translationJobUids | Array of strings Used for searching jobs by |
translationJobStatus | Array of strings Items Enum: "DRAFT" "AWAITING_AUTHORIZATION" "IN_PROGRESS" "COMPLETED" "CANCELLED" "CLOSED" "DELETED" Used for searching jobs by their status. |
limit | integer The limit on the number of jobs returned. |
offset | integer The offset to use when searching for jobs. |
sortBy | string Enum: "createdDate" "dueDate" "jobName" The field to sort by. |
sortDirection | string Enum: "ASC" "DESC" The direction to sort. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/jobs-api/v3/projects/$smartlingProjectId/jobs
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "createdDate": "2015-11-21T11:51:17Z",
- "description": "my job description",
- "dueDate": "2015-11-21T11:51:17Z",
- "jobName": "myJobName",
- "jobNumber": "SMTL-123",
- "jobStatus": "IN_PROGRESS",
- "referenceNumber": "myReferenceNumber1",
- "targetLocaleIds": [
- "fr-FR",
- "es"
], - "translationJobUid": "abc123abc"
}, - {
- "createdDate": "2015-11-21T11:51:17Z",
- "description": "my job description",
- "dueDate": "2015-11-21T11:51:17Z",
- "jobName": "myJobName2",
- "jobNumber": "SMTL-987",
- "jobStatus": "IN_PROGRESS",
- "referenceNumber": "myReferenceNumber1",
- "targetLocaleIds": [
- "fr-FR",
- "de"
], - "translationJobUid": "abc321xyz"
}
], - "totalCount": 2
}
}
}
Creates a job within Smartling.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
jobName | string <= 170 characters The name of the job to create. It must be unique within the Smartling project. |
targetLocaleIds | Array of strings The array of |
description | string The description of the job. The description is limited to 2,000 characters. |
dueDate | string <date-time> The date the job is requested to be completed by. |
referenceNumber | string Customer specific number/identifier for the job. |
callbackUrl | string <= 8192 characters The URL for Smartling to invoke when the job is completed. |
callbackMethod | string The HTTP method to call (GET|POST) when invoking the |
Array of objects (CustomFieldBasicRequest) Custom fields assigned to the project which job is created in. Validation on custom fields is done in scope of that request. |
{- "jobName": "This is my job name.",
- "targetLocaleIds": [
- "ru-RU"
], - "description": "This is my job description.",
- "dueDate": "2020-11-21T01:51:17Z",
- "referenceNumber": "referenceNumb1",
- "callbackMethod": "GET",
- "customFields": [
- {
- "fieldUid": "3rrwchzmjf24",
- "fieldValue": "Finance Dept"
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "translationJobUid": "abc123abc",
- "jobName": "myJobName",
- "jobNumber": "SMTL-123",
- "targetLocaleIds": [
- "fr-FR"
], - "callbackMethod": "GET|POST",
- "createdByUserUid": "userUid123abc",
- "createdDate": "2015-11-21T11:51:17Z",
- "description": "my job description",
- "dueDate": "2015-11-21T11:51:17Z",
- "jobStatus": "IN_PROGRESS",
- "firstCompletedDate": "2015-11-21T11:51:17Z",
- "firstAuthorizedDate": "2015-01-21T11:51:17Z",
- "lastCompletedDate": "2015-11-21T11:51:17Z",
- "lastAuthorizedDate": "2015-12-21T11:51:17Z",
- "modifiedByUserUid": "userUid321abc",
- "modifiedDate": "2015-11-21T11:51:17Z",
- "referenceNumber": "myReferenceNumber1",
- "customFields": [
- {
- "fieldUid": "rbrbn69wa1pa",
- "fieldName": "Department",
- "fieldValue": "Finance Dept"
}, - {
- "fieldUid": "3rrwchzmjf27",
- "fieldName": "Adaptation Required",
- "fieldValue": "true"
}
], - "issues": {
- "sourceIssuesCount": 3,
- "translationIssuesCount": 4
}
}
}
}
Search Job(s), based on locales and hashcodes. We allow total 20000 records to be passed. Means it could be 10 locales * 2000 hashcodes or 1 locale * 20000 hashcodes or no locales and just 20000 hashcodes, etc
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
hashcodes | Array of strings The array of hashcodes to search a job containing given hashcodes. If empty, response will also be empty list. |
localeIds | Array of strings List of localeIds to search jobs associated with provided hashcodes and locales. If empty, search will be performed only by hashcodes. |
{- "hashcodes": [
- "string"
], - "localeIds": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 2,
- "items": [
- {
- "translationJobUid": "abc123abc",
- "jobName": "myJobName",
- "dueDate": "2015-11-21T11:51:17Z",
- "hashcodesByLocale": [
- {
- "localeId": "fr-FR",
- "hashcodes": [
- "hashcode1",
- "hashcode3"
]
}, - {
- "localeId": "de-DE",
- "hashcodes": [
- "hashcode4",
- "hashcode3"
]
}
]
}, - {
- "translationJobUid": "abc456abc",
- "jobName": "myJobName2",
- "dueDate": "2015-11-21T11:51:17Z",
- "hashcodesByLocale": [
- {
- "localeId": "ru-RU",
- "hashcodes": [
- "hashcode1",
- "hashcode3"
]
}, - {
- "localeId": "uk-UA",
- "hashcodes": [
- "hashcode4",
- "hashcode3"
]
}
]
}
]
}
}
}
This gets translation job string hashcodes with locales
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
targetLocaleId | string Target / translation locale id. |
limit | integer Default: 1000 Max amount of result items. |
offset | integer Default: 0 Amount of items to skip. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 3,
- "items": [
- {
- "targetLocaleId": "uk-UA",
- "hashcode": "hashcode1"
}, - {
- "targetLocaleId": "es",
- "hashcode": "hashcode2"
}, - {
- "targetLocaleId": "es",
- "hashcode": "hashcode1"
}
]
}
}
}
Adding strings to a job is useful if you don't manage strings / content through files, but instead need to add strings by some other means other than files.
When strings are successfully added to a job, a 200
status is returned. When the system can't quickly add strings to the job, a 202
response status is returned. The response contains a link and processUid
to check the progress of the request. When a 202
is received, the process of adding the content to the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
hashcodes | Array of strings <= 1000 items The array of hashcodes to use to add to the job. The hashcodes must exist within Smartling, for the project, in order to be added to a job. Hashcodes are required when adding strings to a job. Hashcodes are limited to 1000 per API call. |
moveEnabled | boolean Default: false (Optional), default is false. A string for a locale can only be in one job. If the string identified in the request is already in a job for a locale then it won't be added. However, |
targetLocaleIds | Array of strings The array of |
{- "hashcodes": [
- "string"
], - "moveEnabled": false,
- "targetLocaleIds": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "failCount": 0,
- "successCount": 100
}
}
}
Remove strings from a job. Any strings removed from the job will also be unauthorized within Smartling.
If strings are successfully removed from a job, a 200
status will be returned. When the system can't quickly add the strings to the job, a 202
response is returned. The response contains a link to check the progress of the request. When a 202
is received, the process of removing the content from the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
hashcodes | Array of strings The hashcodes (string identifiers) that should be removed from the job. |
localeIds | Array of strings (Optional) The array of |
{- "hashcodes": [
- [
- "ca51a04da69cf64dce022bb4f146c962"
]
], - "localeIds": [
- [
- "ru-RU"
]
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "failCount": 0,
- "successCount": 100
}
}
}
This closes a completed job. In order for a job to be closed, it must be in a completed state. All content from the job will be removed when it is closed. Closing a job guarantees that no additional work will be done against the job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
{- "response": {
- "code": "SUCCESS"
}
}
This cancels a job. All content within the job will be removed from the job and the content will be unauthorized.
If a job is successfully cancelled, a 200
response status will be returned. When the system can't quickly cancel the job, a 202
response is returned. The response contains a link to check the progress of the request. When a 202
is received, the process of canceling and removing the content from the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
reason | string Optional field that can be used to indicate the reason the job was cancelled. |
{- "reason": "string"
}
{- "response": {
- "code": "SUCCESS"
}
}
This gets the details of a job such as job name, description, due date, and reference number.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "createdByUserUid": "518252370016",
- "createdDate": "2017-11-03T14:18:37Z",
- "jobName": "test job (Cancelled 2017/11/04 12:01:28)",
- "jobStatus": "CANCELLED",
- "jobNumber": "SMTL-123",
- "firstCompletedDate": "2015-11-21T11:51:17Z",
- "firstAuthorizedDate": "2015-01-21T11:51:17Z",
- "lastCompletedDate": "2015-11-21T11:51:17Z",
- "lastAuthorizedDate": "2015-12-21T11:51:17Z",
- "modifiedByUserUid": "598d89cce43a",
- "modifiedDate": "2017-11-04T12:01:28Z",
- "sourceFiles": [
- {
- "name": "admin.properties",
- "uri": "admin.properties",
- "fileUid": "5b0f5c5c4c"
}
], - "targetLocaleIds": [
- "uk-UA",
- "ru-RU"
], - "translationJobUid": "jhcgalvnb6za",
- "priority": 4,
- "referenceNumber": "myReferenceNumber1",
- "issues": {
- "sourceIssuesCount": 3,
- "translationIssuesCount": 4
}, - "customFields": [
- {
- "fieldUid": "rbrbn69wa1pa",
- "fieldName": "Department",
- "fieldValue": "Finance Dept"
}, - {
- "fieldUid": "3rrwchzmjf27",
- "fieldName": "Adaptation Required",
- "fieldValue": "true"
}
]
}
}
}
This updates the attributes of the job, such as job name, description, due date, and reference number. The API works in a replace-all fashion. Fields, that are not passed, will be overwritten with empty values.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
jobName | string <= 170 characters The name of the job. It must be unique within the Smartling project. |
description | string The description of the job. |
dueDate | string <date-time> The date by which the job is requested to be completed. |
referenceNumber | string Customer specific number/identifier for the job. |
callbackUrl | string <= 8192 characters The URL for Smartling to invoke when the job is completed. |
callbackMethod | string The HTTP method to call (GET|POST) when invoking the |
Array of objects (CustomFieldBasicRequest) |
{- "jobName": "string",
- "description": "string",
- "dueDate": "2020-11-21T01:51:17Z",
- "referenceNumber": "CustomerReferenceNum1",
- "callbackMethod": "GET",
- "customFields": [
- {
- "fieldUid": "3rrwchzmjf24",
- "fieldValue": "Finance Dept"
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "createdByUserUid": "518252370016",
- "createdDate": "2017-11-03T14:18:37Z",
- "description": "Description of the job",
- "dueDate": "2020-11-03T14:18:37Z",
- "jobName": "Test Job",
- "jobNumber": "SMTL-123",
- "jobStatus": "AWAITING_AUTHORIZATION",
- "firstCompletedDate": "2015-11-21T11:51:17Z",
- "firstAuthorizedDate": "2015-01-21T11:51:17Z",
- "lastCompletedDate": "2015-11-21T11:51:17Z",
- "lastAuthorizedDate": "2015-12-21T11:51:17Z",
- "modifiedByUserUid": "598d89cce43a",
- "modifiedDate": "2017-11-04T12:01:28Z",
- "sourceFiles": [
- {
- "name": "admin.properties",
- "uri": "admin.properties",
- "fileUid": "5b0f5c5c4c"
}
], - "targetLocaleIds": [
- "uk-UA",
- "ru-RU"
], - "customFields": [
- {
- "fieldUid": "rbrbn69wa1pa",
- "fieldName": "Department",
- "fieldValue": "Finance Dept"
}, - {
- "fieldUid": "3rrwchzmjf27",
- "fieldName": "Adaptation Required",
- "fieldValue": "true"
}
], - "translationJobUid": "jhcgalvnb6za",
- "priority": 45
}
}
}
This deletes a job. Only job that is in CANCELLED
status can be deleted.
If a job is successfully deleted, a 200
response status will be returned.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
{- "response": {
- "code": "SUCCESS"
}
}
This searches for jobs based on hashcodes (string identifiers), fileUri
s, and translationJobUid
s. Will return max of 100 translation job list items.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
The filters to use when searching for jobs within the project. Requirements: One of the parameters should non be an empty collection (fileUris or hashcodes or translationJobUids).
fileUris | Array of strings (Optional) The |
hashcodes | Array of strings (Optional) The hashcodes (string identifiers) used to search for jobs. Any job containing specified hashcodes will be returned. |
translationJobUids | Array of strings (Optional) The |
{- "fileUris": [
- "string"
], - "hashcodes": [
- "string"
], - "translationJobUids": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "createdDate": "2015-11-21T11:51:17Z",
- "description": "my job description",
- "dueDate": "2015-11-21T11:51:17Z",
- "jobName": "myJobName",
- "jobStatus": "IN_PROGRESS",
- "referenceNumber": "myReferenceNumber1",
- "targetLocaleIds": [
- "uk-UA",
- "ru-RU"
], - "translationJobUid": "abc123abc"
}, - {
- "createdDate": "2015-11-21T11:51:17Z",
- "description": "my job description",
- "dueDate": "2015-11-21T11:51:17Z",
- "jobName": "myJobName",
- "jobStatus": "IN_PROGRESS",
- "referenceNumber": "myReferenceNumber1",
- "targetLocaleIds": [
- "uk-UA",
- "ru-RU"
], - "translationJobUid": "abc321xyz"
}
], - "totalCount": 2
}
}
}
This checks for an asynchronous process for a job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
processUid required | string |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "createdDate": "2015-11-21T11:51:17Z",
- "modifiedDate": "2015-11-21T11:51:17Z",
- "processState": "IN_PROGRESS | COMPLETED | FAILED",
- "processUid": "13424r5-qaswerxs-43435ff",
- "translationJobUid": "784578f-qaswerxs-43435ff"
}
}
}
This adds all non-published strings from a file to a job. By default, the file will be added for all locales of the job, but you can change this by specifying targetLocaleId
s for the job you wish to add the file into.
Validation rules:
fileUri
) can't be in the process of being uploaded / modified within Smartling. It should complete its upload process before being added to a job.targetLocale
s specified must be valid within the project the job has been created for.When the system can quickly add the file and its content to the job, it synchronously responds with status 200
. When the system cannot quickly add the file and its content to the job, then a 202
response is returned. The response contains a link to check the progress of the request. When a 202
is received, the process of adding the content to the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
The fileUri
(unique URI of the file). The file should not currently be in the process of being uploaded to Smartling before being added to a job. To check this, you can invoke the file-api /file/status API on the file and verify a 200
response before requesting the file be added to the job.
fileUri | string The URI of the file that has been uploaded to Smartling. |
targetLocaleIds | Array of strings The array of |
{- "fileUri": "string",
- "targetLocaleIds": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "failCount": 1,
- "successCount": 1
}
}
}
Removes a file from a job. All content that is part of the file contained within that job will be removed from the job and will become unauthorized content.
When the system can quickly remove the file and its content from the job synchronously, it responds with a 200
status. When the system cannot quickly remove the file and its content from the job, a 202
response is returned. The response contains a link to check the progress of the request. When a 202
is received, the process of removing the file and its content from the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
The fileUri
(unique URI of the file) that is to be removed from the job.
fileUri | string The URI of the file that is to be removed from the job. |
{- "fileUri": "string"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "failCount": 1,
- "successCount": 1
}
}
}
This lists all files within a job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
limit | integer Default: 1000 The limit on the number of files returned. |
offset | integer Default: 0 The offset to use when searching for files. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "uri": "/file/app1.properties",
- "fileUid": "1234g67h90",
- "localeIds": [
- "en-US",
- "fr-FR"
]
}, - {
- "uri": "/file/app2.properties",
- "fileUid": "123h56c891",
- "localeIds": [
- "en-US",
- "de-DE"
]
}
], - "totalCount": 2
}
}
}
This adds a locale to a job. When the system can quickly add the locale and any content to the job, it synchronously responds with status 200
. When the system can't quickly add the locale and any content to the job, a 202
response is returned. The response contains a link to check the progress of the request. When a 202
is received, the process of adding the content to the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
targetLocaleId required | string |
syncContent
is default to true. When a new locale is being added to a job, by default all content in the job will be added to the job for the new locale. If set to false, then no content will be added to the job, and only a locale placeholder will be added to the job.
syncContent | boolean Default: true When a new locale is being added to a job, by default all content in the job will be added to the job for the new locale. If set to false, then no content will be added to the job, and only a locale placeholder will be added to the job. |
{- "syncContent": true
}
{- "response": {
- "code": "SUCCESS"
}
}
This removes a locale from a job. When removing a locale from a job (and thus any content within that job for that locale), the content being removed will be unauthorized.
When the system can quickly remove the locale and any content from the job, it synchronously responds with status 200
. When the system cannot quickly remove the locale and any content from the job, then a 202
response is returned. The response contains a link to check the progress of the request. When a 202
is received, the process of removing the content from the job will not be complete until the returned process has completed.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
targetLocaleId required | string |
{- "response": {
- "code": "SUCCESS"
}
}
This shows the progress of a file within a job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
fileUri required | string |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "contentProgressReport": [
- {
- "progress": {
- "percentComplete": 25,
- "totalWordCount": 16
}, - "targetLocaleDescription": "Ukrainian (Ukraine)",
- "targetLocaleId": "uk-UA",
- "unauthorizedProgressReport": {
- "stringCount": 0,
- "wordCount": 0
}, - "workflowProgressReportList": [
- {
- "workflowName": "Project Default",
- "workflowStepSummaryReportItemList": [
- {
- "stringCount": 4,
- "wordCount": 16,
- "workflowStepName": "Translation",
- "workflowStepType": "TRANSLATION",
- "workflowStepUid": "559ce40f2789"
}, - {
- "stringCount": 0,
- "wordCount": 0,
- "workflowStepName": "Edit",
- "workflowStepType": "POST_TRANSLATION__EDIT",
- "workflowStepUid": "704a4b554b85"
}, - {
- "stringCount": 0,
- "wordCount": 0,
- "workflowStepName": "Published",
- "workflowStepType": "PUBLISH",
- "workflowStepUid": "b50f989af2c3"
}
], - "workflowUid": "091e04a9faca"
}
]
}, - {
- "progress": {
- "percentComplete": 75,
- "totalWordCount": 16
}, - "targetLocaleDescription": "Russian",
- "targetLocaleId": "ru-RU",
- "unauthorizedProgressReport": {
- "stringCount": 0,
- "wordCount": 0
}, - "workflowProgressReportList": [
- {
- "workflowName": "Project Default",
- "workflowStepSummaryReportItemList": [
- {
- "stringCount": 1,
- "wordCount": 4,
- "workflowStepName": "Translation",
- "workflowStepType": "TRANSLATION",
- "workflowStepUid": "559ce40f2789"
}, - {
- "stringCount": 2,
- "wordCount": 8,
- "workflowStepName": "Edit",
- "workflowStepType": "POST_TRANSLATION__EDIT",
- "workflowStepUid": "704a4b554b85"
}, - {
- "stringCount": 1,
- "wordCount": 4,
- "workflowStepName": "Published",
- "workflowStepType": "PUBLISH",
- "workflowStepUid": "b50f989af2c3"
}
], - "workflowUid": "091e04a9faca"
}
]
}
], - "progress": {
- "percentComplete": 50,
- "totalWordCount": 32
}, - "summaryReport": [
- {
- "stringCount": 1,
- "wordCount": 4,
- "workflowStepName": "Translation"
}, - {
- "stringCount": 2,
- "wordCount": 8,
- "workflowStepName": "Edit"
}
]
}
}
}
This gets the progress of a job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string |
targetLocaleId | string |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "contentProgressReport": [
- {
- "progress": {
- "percentComplete": 25,
- "totalWordCount": 16
}, - "targetLocaleDescription": "Ukrainian (Ukraine)",
- "targetLocaleId": "uk-UA",
- "unauthorizedProgressReport": {
- "stringCount": 0,
- "wordCount": 0
}, - "workflowProgressReportList": [
- {
- "workflowName": "Project Default",
- "workflowStepSummaryReportItemList": [
- {
- "stringCount": 4,
- "wordCount": 16,
- "workflowStepName": "Translation",
- "workflowStepType": "TRANSLATION",
- "workflowStepUid": "559ce40f2789"
}, - {
- "stringCount": 0,
- "wordCount": 0,
- "workflowStepName": "Edit",
- "workflowStepType": "POST_TRANSLATION__EDIT",
- "workflowStepUid": "704a4b554b85"
}, - {
- "stringCount": 0,
- "wordCount": 0,
- "workflowStepName": "Published",
- "workflowStepType": "PUBLISH",
- "workflowStepUid": "b50f989af2c3"
}
], - "workflowUid": "091e04a9faca"
}
]
}, - {
- "progress": {
- "percentComplete": 75,
- "totalWordCount": 16
}, - "targetLocaleDescription": "Russian",
- "targetLocaleId": "ru-RU",
- "unauthorizedProgressReport": {
- "stringCount": 0,
- "wordCount": 0
}, - "workflowProgressReportList": [
- {
- "workflowName": "Project Default",
- "workflowStepSummaryReportItemList": [
- {
- "stringCount": 1,
- "wordCount": 4,
- "workflowStepName": "Translation",
- "workflowStepType": "TRANSLATION",
- "workflowStepUid": "559ce40f2789"
}, - {
- "stringCount": 2,
- "wordCount": 8,
- "workflowStepName": "Edit",
- "workflowStepType": "POST_TRANSLATION__EDIT",
- "workflowStepUid": "704a4b554b85"
}, - {
- "stringCount": 1,
- "wordCount": 4,
- "workflowStepName": "Published",
- "workflowStepType": "PUBLISH",
- "workflowStepUid": "b50f989af2c3"
}
], - "workflowUid": "091e04a9faca"
}
]
}
], - "progress": {
- "percentComplete": 50,
- "totalWordCount": 32
}, - "summaryReport": [
- {
- "stringCount": 1,
- "wordCount": 4,
- "workflowStepName": "Translation"
}, - {
- "stringCount": 2,
- "wordCount": 8,
- "workflowStepName": "Edit"
}
]
}
}
}
Returns the last completion date for any locale completed within the job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string A unique identifier for a job. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "completionDate": "2018-08-29T08:17:40Z",
- "targetLocaleId": "de-DE"
}
], - "totalCount": 1
}
}
}
Get all schedule items for a specific job.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string A unique identifier for a job. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "scheduleUid": "hfphrhef8awr",
- "targetLocaleId": "de-DE",
- "workflowStepUid": "568cd2bae16f",
- "dueDate": "2020-11-21T01:51:17Z"
}
], - "totalCount": 1
}
}
}
This modifies translation job schedule for provided items
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid required | string A unique identifier for a job. |
Array of objects (JobScheduleEditItemCommand) Array of translation job schedule edit items. |
{- "schedules": [
- {
- "workflowStepUid": "568cd2bae16f",
- "dueDate": "2020-11-21T01:51:17Z",
- "targetLocaleId": "ru-RU"
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "scheduleUid": "hfphrhef8awr",
- "targetLocaleId": "de-DE",
- "workflowStepUid": "568cd2bae16f",
- "dueDate": "2020-11-21T01:51:17Z"
}
], - "totalCount": 1
}
}
}
Returns custom fields assigned to the project. Order is the one that was specified during assignment operation.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "fieldUid": "ngahq6dgh4ed",
- "type": "SELECTBOX",
- "fieldName": "field-name",
- "enabled": true,
- "required": true,
- "searchable": true,
- "displayToTranslators": true,
- "options": [
- "option1",
- "option2"
], - "defaultValue": "default-field-name",
- "description": "custom field description"
}
], - "totalCount": 1
}
}
}
Accepts new values for assignment. If empty list is passed - all assignments are deleted. Order of the fields in the request is preserved during saving.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fieldUid | any Custom field unique identifier. |
[- {
- "fieldUid": "ngahq6dgh4ed"
}
]
{- "response": {
- "code": "SUCCESS"
}
}
Gets all custom fields for specified account.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
searchableOnly | boolean Get only searchable custom fields. |
enabledOnly | boolean Get only enabled custom fields. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "fieldUid": "ngahq6dgh4ed",
- "type": "SELECTBOX",
- "fieldName": "field-name",
- "enabled": true,
- "required": true,
- "searchable": true,
- "displayToTranslators": true,
- "options": [
- "option1",
- "option2"
], - "defaultValue": "default-field-name",
- "description": "custom field description"
}
], - "totalCount": 1
}
}
}
Creates new custom field in account.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
type | string custom field type. |
fieldName | boolean custom field name. |
enabled | boolean is custom field enabled. |
required | boolean is custom field required during job creation. |
searchable | boolean can search be performed by the custom field. |
displayToTranslators | boolean is displayed to translators. |
options | Array of strings |
defaultValue | string default value for custom field. |
description | string custom field description. |
{- "type": "SHORT_TEXT | LONG_TEXT | SELECTBOX | CHECKBOX",
- "fieldName": "field-name",
- "enabled": true,
- "required": true,
- "searchable": true,
- "displayToTranslators": true,
- "options": [
- [
- "option1",
- "option2"
]
], - "defaultValue": "default field value",
- "description": "Custom field example"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "fieldUid": "ngahq6dgh4ed",
- "type": "SELECTBOX",
- "fieldName": "field-name",
- "enabled": true,
- "required": true,
- "searchable": true,
- "displayToTranslators": true,
- "options": [
- "option1",
- "option2"
], - "defaultValue": "default-field-name",
- "description": "custom field description"
}
], - "totalCount": 1
}
}
}
Updates custom field in account using field UID specified.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
fieldUid required | string A unique identifier for a custom field. |
fieldName | boolean custom field name. |
enabled | boolean is custom field enabled. |
required | boolean is custom field required during job creation. |
searchable | boolean can search be performed by the custom field. |
displayToTranslators | boolean is displayed to translators. |
options | Array of strings |
defaultValue | string default value for custom field. |
description | string custom field description. |
{- "fieldName": "field-name",
- "enabled": true,
- "required": true,
- "searchable": true,
- "displayToTranslators": true,
- "options": [
- [
- "option1",
- "option2"
]
], - "defaultValue": "default field value",
- "description": "Custom field example"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "fieldUid": "ngahq6dgh4ed",
- "type": "SELECTBOX",
- "fieldName": "field-name",
- "enabled": true,
- "required": true,
- "searchable": true,
- "displayToTranslators": true,
- "options": [
- "option1",
- "option2"
], - "defaultValue": "default-field-name",
- "description": "custom field description"
}
], - "totalCount": 1
}
}
}
Job batches take care of asynchronous processes when uploading files and attaching them to jobs.
Generally, adding multiple files to a job is associated with polling - file is parsed asynchronously and can't be added to a job until it is completed, adding file to a job is also asynchronous, and job can't be authorized until all background tasks completed.
This forces third-party integration poll every file after every step.
Batches hide these asynchronous processes from 3rd party integration - after it accepted file from client it conducts this file through all steps up to the Job authorization. As Job Batches Service utilizes internal Smartling events it gets more effective than just polling files and jobs.
From the client side flow consists of simple steps:
Client creates Job (or uses existing one, which isn't currently processed with another Batch)
Client Creates a new Batch for this Job
Client adds (uploads) files into the batch giving target locales list
When all files are uploaded, client triggers "execute" for the batch.
Batch execution process waiting until all files are uploaded and added to the Job and then, if was requested, authorizes the Job.
Clients can check batch status and see if all files uploaded and attached successfully, what errors happened for each file, and statistics for added/skipped strings.
After Batch is completed it can't be reused.
Job batches Limitations
The service doesn't guarantee the correct processing of multiple batches for the same job in parallel. Adding files to a new batch should only be done after the previous batch has reached the "completed" status.
If the Job or Files are modified in the UI or through another integration, the service cannot guarantee that the Batch will be processed correctly.
The service retains data for 6 months before permanently deleting it.
Creates a new batch for the given Job. If authorize
is set to true
, then Job authorize will be triggered on the batch execute step. When the batch is created, it has the status: NEW
.
projectId required | string <uid> A unique identifier for a project. |
Create Batch Request
authorize | boolean if the set is true then the job will be authorized when uploaded and attach processes completed for all files in the batch. |
translationJobUid | string The UID of the previously created translation job. |
{- "authorize": true,
- "translationJobUid": "string"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "batchUid": "qwe0rty98poi"
}
}
}
List existing batches for the project, filtered by the given criteria.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
translationJobUid | string <uid> A unique identifier for a translationJob. |
status | string (BatchStatus) Enum: "DRAFT" "ADDING_FILES" "EXECUTING" "COMPLETED" The status of the Batch |
sortBy | string Default: "createdDate" Enum: "createdDate" "status" The field to sort by |
orderBy | string Default: "desc" Enum: "asc" "desc" Sorting direction |
offset | integer Default: 0 Standard Smartling limit and offset to paginate through results. 0 if not specified. |
limit | integer [ 1 .. 100 ] Default: 20 Standard Smartling limit and offset to paginate through results. 20 batches are returned by default if not specified. |
curl -X GET \ 'https://api.smartling.com/job-batches-api/v1/projects/$smartlingProjectId/batches?translationJobUid={translationJobUid}&status={status}&sortBy=createdDate&orderBy=desc&offset=0&limit=20' \ -H "Authorization: Bearer $smartlingToken"
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "authorized": true,
- "batchUid": "559ce40f2789",
- "createdDate": "2015-11-21T11:51:17Z",
- "hasError": false,
- "modifiedDate": "2015-11-21T11:51:17Z",
- "projectId": "asf53fds34",
- "status": "DRAFT",
- "translationJobUid": "635gf40f9846"
}, - {
- "authorized": true,
- "batchUid": "456dv32d0934",
- "createdDate": "2015-11-21T11:51:17Z",
- "hasError": false,
- "modifiedDate": "2015-11-22T10:24:14Z",
- "projectId": "asf53fds34",
- "status": "EXECUTING",
- "translationJobUid": "635gf40f9846"
}
], - "totalCount": 2
}
}
}
Returns batch status with detailed statuses of all batch items and their locales.
projectId required | string <uid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
batchUid required | string <uid> A unique identifier for a batch. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "authorized": true,
- "files": [
- {
- "errors": "",
- "fileUri": "files/example1.json",
- "status": "ATTACHING",
- "targetLocales": [
- {
- "localeId": "de-DE",
- "stringsAdded": 0,
- "stringsSkipped": 0
}, - {
- "localeId": "fr-FR",
- "stringsAdded": 0,
- "stringsSkipped": 0
}
], - "updatedDate": "2015-11-21T11:53:17Z"
}, - {
- "errors": "",
- "fileUri": "files/example2.xml",
- "status": "UPLOADING",
- "targetLocales": [
- {
- "localeId": "de-DE",
- "stringsAdded": 0,
- "stringsSkipped": 0
}, - {
- "localeId": "fr-FR",
- "stringsAdded": 0,
- "stringsSkipped": 0
}
], - "updatedDate": "2015-11-21T11:54:19Z"
}
], - "generalErrors": "",
- "projectId": "dg63gkb4v",
- "status": "ADDING_FILES",
- "translationJobUid": "sjhs782hdb4djf",
- "updatedDate": "2015-11-21T11:51:17Z"
}
}
}
Triggers asynchronous execution of a batch.
In the execution flow, the batch waits until upload and attach processes are completed successfully (or failed for any reason). When all of these asynchronous processes are completed, job authorize
is triggered if it was requested, and the batch becomes a status of COMPLETED
.
Batch execution is allowed only if the batch is in ADDING_FILES
status.
projectId required | string <uid> A unique identifier for a project. |
batchUid required | string <uid> A unique identifier for a batch. |
action | string Value: "execute" |
Array of objects (LocaleWorkflow) |
{- "action": "execute",
- "localeWorkflows": [
- {
- "targetLocaleId": "cy-GB",
- "workflowUid": "9422471c2202"
}
]
}
{- "response": {
- "code": "SUCCESS"
}
}
This endpoint is actually a proxy for Upload File in the Files API, and it works with these two differences:
batchUid
as a path parameter.localeIdsToAuthorize
to Files Api, therefore the file stays unauthorized. Instead, localeIdsToAuthorize
are saved just for this batch session and are used when a file is being attached to a job.When the first file is added to the new batch, it becomes an ADDING_FILES
status. Adds original source content to a Job batch in Smartling.
The curl example provided will upload your Java properties file directly to a Smartling project, identified by the projectId
, and attaches it to a Job linked to batchUid
. The response is returned right after the content of a file is accepted by the Files API. After that, the Batch service controls whether the file upload finished. Content is parsed, all strings are ingested, and the file is then attached to the Job which is linked to the batch for locales, described in localeIdsToAuthorize
.
projectId required | string <uid> A unique identifier for a project. |
batchUid required | string <uid> A unique identifier for a batch. |
file required | string <binary> The file contents to upload. |
fileUri required | string A value that uniquely identifies the uploaded file. This ID can be used to request the file back. We recommend that you use file path and file name, similar to how version control systems identify the file. Example: |
fileType required | string (FileType) Enum: "android" "ios" "gettext" "html" "java_properties" "xliff" "xml" "json" "docx" "pptx" "xlsx" "idml" "qt" "resx" "plain_text" "csv" "srt" "stringsdict" "xls" "doc" "ppt" "pres" "madcap" "yaml" "markdown" A unique identifier for the file type. |
authorize | boolean Default: false Ignored
Endpoint accepts this field to be consistent with |
localeIdsToAuthorize[] required | Array of strings This value declares locales list which should be used when file is attached to a job. Note: File will not be authorized for these locales once it is uploaded. Authorization is happened only when job is authorized. |
smartling.namespace | string This is only for accounts created after July 31st, 2015. Define a custom namespace for the file. Note: While this parameter shares the format of other file directives, it will not work as an inline directive and must be specified in the API call. |
smartling.file_charset | string Specifies a custom charset for text-format files. The value should be the name of the character set. See a full list of supported character sets here. If this directive is not used, Smartling will use the Note: Once this property has been set for a file, it cannot be changed. If you reupload the file, it will use the original charset, even if you change the directive. An error will be returned if this directive is used when uploading binary-format file types, such as Office or IDML files. |
smartling.[command] | string Provides custom parser configuration for supported file types. See Supported File Types for more details. |
callbackUrl | string <url> A GET request that creates a callback to a URL when a file is 100% published for a locale. The callback gives the fileUri and locale with the format If a callback fails, Smartling will make multiple attempts to reach the designated URL, however, we do not keep retrying a failed callback indefinitely. Try to make sure your callback URL is as stable as possible and be aware that callbacks are not a 100% reliable way of being notified that a file is published. If the upload has begun but is taking more than a minute to complete, it responds with status |
curl -X POST \ 'https://api.smartling.com/jobs-batch-api/v1/projects/$smartlingProjectId/batches/{batchUid}/file' \ -H "Authorization: Bearer $smartlingToken" \ -F "file=@file.properties;type=text/plain" \ -F "fileUri=file.properties" \ -F "fileType=javaProperties" \ -F "localeIdsToAuthorize[]=fr-FR" \ -F "localeIdsToAuthorize[]=ru-RU"
{- "response": {
- "code": "ACCEPTED",
- "data": {
- "message": "Your file was successfully uploaded. Word and string counts are not available right now."
}
}
}
This endpoint is actually a proxy for Upload File in the Files API, and it works with these two differences:
batchUid
as a path parameter.localeIdsToAuthorize
to Files Api, therefore the file stays unauthorized. Instead, localeIdsToAuthorize
are saved just for this batch session and are used when a file is being attached to a job.When the first file is added to the new batch, the batch changes to ADDING_FILES
status. Adds original source content to a Job batch in Smartling.
The curl example provided will upload your Java properties file directly to a Smartling project, identified by the projectId
, and attaches it to a Job linked to batchUid
. The response is returned right after the content of a file is accepted by the Files API. After that, the Batch service controls whether the file upload finished. Content is parsed, all strings are ingested, and the file is then attached to the Job which is linked to the batch for locales, described in localeIdsToAuthorize
.
Endpoint returns response as soon as a file is uploaded to jobs batch server. File is uploaded to FILE API in separate thread.
projectId required | string <uid> A unique identifier for a project. |
batchUid required | string <uid> A unique identifier for a batch. |
file required | string <binary> The file contents to upload. |
fileUri required | string A value that uniquely identifies the uploaded file. This ID can be used to request the file back. We recommend that you use file path and file name, similar to how version control systems identify the file. Example: |
fileType required | string (FileType) Enum: "android" "ios" "gettext" "html" "java_properties" "xliff" "xml" "json" "docx" "pptx" "xlsx" "idml" "qt" "resx" "plain_text" "csv" "srt" "stringsdict" "xls" "doc" "ppt" "pres" "madcap" "yaml" "markdown" A unique identifier for the file type. |
authorize | boolean Default: false Ignored
Endpoint accepts this field to be consistent with |
localeIdsToAuthorize[] required | Array of strings This value declares locales list which should be used when file is attached to a job. Note: File will not be authorized for these locales once it is uploaded. Authorization happens only when a job is authorized. |
smartling.namespace | string This is only for accounts created after July 31st, 2015. Define a custom namespace for the file. Note: While this parameter shares the format of other file directives, it will not work as an inline directive and must be specified in the API call. |
smartling.file_charset | string Specifies a custom charset for text-format files. The value should be the name of the character set. See a full list of supported character sets here. If this directive is not used, Smartling will use the Note: Once this property has been set for a file, it cannot be changed. If you reupload the file, it will use the original charset, even if you change the directive. An error will be returned if this directive is used when uploading binary-format file types, such as Office or IDML files. |
smartling.[command] | string Provides custom parser configuration for supported file types. See Supported File Types for more details. |
callbackUrl | string <url> A GET request that creates a callback to a URL when a file is 100% published for a locale. The callback gives the fileUri and locale with the format If a callback fails, Smartling will make multiple attempts to reach the designated URL, however, we do not keep retrying a failed callback indefinitely. Try to make sure your callback URL is as stable as possible and be aware that callbacks are not a 100% reliable way of being notified that a file is published. If the upload has begun but is taking more than a minute to complete, it responds with status |
curl -X POST \ 'https://api.smartling.com/jobs-batch-api/v2/projects/$smartlingProjectId/batches/{batchUid}/file' \ -H "Authorization: Bearer $smartlingToken" \ -F "file=@file.properties;type=text/plain" \ -F "fileUri=file.properties" \ -F "fileType=javaProperties" \ -F "localeIdsToAuthorize[]=fr-FR" \ -F "localeIdsToAuthorize[]=ru-RU"
{- "response": {
- "code": "ACCEPTED"
}
}
Job batches take care of asynchronous processes when uploading files and attaching them to jobs.
Generally, adding multiple files to a job is associated with polling - file is parsed asynchronously and can't be added to a job until it is completed. Adding file to a job is also asynchronous, and job can't be authorized until all background tasks completed.
This forces a third-party integration poll for every file after every step.
Batches hide these asynchronous processes from 3rd party integration - after it accepts the file from the Smartling User, it processes this file through all steps up to the Job authorization. As Job Batches Service utilizes internal Smartling events it gets more effective than just polling files and jobs.
From the Smartling user's perspective, the flow consists of the following simple steps:
Create a Job (or uses existing one, which isn't currently processed with another Batch)
Create a new Batch for this Job with the declared list of files to be uploaded into the Job
Upload the files into the batch giving target locales list for each file
You can cancel some of the declared files if there is no reason in uploading (no translatable content etc.)
When all files are uploaded or canceled, "execute" is automatically triggered for the batch.
Batch execution process waits until all asynchronous processes are complete and then, if requested, authorizes the Job for translation.
You can check batch status and see if all files have been uploaded and attached successfully. You can also see if any errors occurred for each file upload and the statistics for ingested/excluded strings.
After Batch is completed it can't be reused.
Job batches Limitations
The service doesn't guarantee the correct processing of multiple batches for the same job in parallel. Adding files to a new batch should only be done after the previous batch has reached the "completed" status.
If the Job or Files are modified in the UI or through another integration, the service cannot guarantee that the Batch will be processed correctly.
The service retains data for 6 months before permanently deleting it.
Creates a new batch for the given Job with a list of file names to be uploaded. File names can be added while files are uploading to the batch, but only before the batch will start executing. The batch is executed as soon as the last file in the initial list or added files are uploaded or cancelled
projectId required | string <uid> Unique identifier of the project within an account. |
Create Batch Request
authorize required | boolean if the set is true then the job will be authorized when uploaded and attach processes completed for all files in the batch. |
translationJobUid required | string The UID of the previously created translation job. |
fileUris required | Array of strings A list of File URI's to be uploaded later |
Array of objects (LocaleWorkflow) |
{- "authorize": true,
- "translationJobUid": "string",
- "fileUris": [
- "string"
], - "localeWorkflows": [
- {
- "targetLocaleId": "cy-GB",
- "workflowUid": "9422471c2202"
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "batchUid": "qwe0rty98poi"
}
}
}
List existing batches for the project, filtered by the given criteria.
projectId required | string <uid> Unique identifier of the project within an account. |
translationJobUid | string <uid> A unique identifier for a translationJob. |
status | string (BatchStatus) Enum: "DRAFT" "ADDING_FILES" "EXECUTING" "COMPLETED" The status of the Batch |
sortBy | string Default: "createdDate" Enum: "createdDate" "status" The field to sort by |
orderBy | string Default: "desc" Enum: "asc" "desc" Sorting direction |
offset | integer Default: 0 Standard Smartling limit and offset to paginate through results. 0 if not specified. |
limit | integer [ 1 .. 100 ] Default: 20 Standard Smartling limit and offset to paginate through results. 20 batches are returned by default if not specified. |
curl -X GET \ 'https://api.smartling.com/job-batches-api/v2/projects/$smartlingProjectId/batches?translationJobUid={translationJobUid}&status={status}&sortBy=createdDate&orderBy=desc&offset=0&limit=20' \ -H "Authorization: Bearer $smartlingToken"
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "authorized": true,
- "batchUid": "559ce40f2789",
- "createdDate": "2015-11-21T11:51:17Z",
- "hasError": false,
- "modifiedDate": "2015-11-21T11:51:17Z",
- "projectId": "asf53fds34",
- "status": "DRAFT",
- "translationJobUid": "635gf40f9846"
}, - {
- "authorized": true,
- "batchUid": "456dv32d0934",
- "createdDate": "2015-11-21T11:51:17Z",
- "hasError": false,
- "modifiedDate": "2015-11-22T10:24:14Z",
- "projectId": "asf53fds34",
- "status": "EXECUTING",
- "translationJobUid": "635gf40f9846"
}
], - "totalCount": 2
}
}
}
Returns batch status with detailed statuses of all batch items and their locales.
projectId required | string <uid> Unique identifier of the project within an account. |
batchUid required | string <uid> A unique identifier for a batch. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "authorized": true,
- "files": [
- {
- "errors": "",
- "fileUri": "files/example1.json",
- "status": "ATTACHING",
- "targetLocales": [
- {
- "localeId": "de-DE",
- "stringsAdded": 0
}, - {
- "localeId": "fr-FR",
- "stringsAdded": 0
}
], - "updatedDate": "2015-11-21T11:53:17Z"
}, - {
- "errors": "",
- "fileUri": "files/example2.xml",
- "status": "UPLOADING",
- "targetLocales": [
- {
- "localeId": "de-DE",
- "stringsAdded": 0
}, - {
- "localeId": "fr-FR",
- "stringsAdded": 0
}
], - "updatedDate": "2015-11-21T11:54:19Z"
}
], - "generalErrors": "",
- "projectId": "dg63gkb4v",
- "status": "ADDING_FILES",
- "translationJobUid": "sjhs782hdb4djf",
- "updatedDate": "2015-11-21T11:51:17Z"
}
}
}
Supports two actions now: REGISTER_FILE - adds given file uri to the initial file name list for uploading. Creates a new batchItem if the batch is in ADDING_FILES status. CANCEL_FILE - tells that file will not be uploaded Changes batchItem status to CANCELED and writes reason to "errors" column
projectId required | string <uid> Unique identifier of the project within an account. |
batchUid required | string <uid> A unique identifier for a batch. |
action required | string Enum: "CANCEL_FILE" "REGISTER_FILE" |
fileUri required | string fileUri to be cancelled or registred |
reason | string any text to describe the reason the file is canceled |
{- "action": "CANCEL_FILE",
- "fileUri": "string",
- "reason": "string"
}
{- "response": {
- "code": "SUCCESS"
}
}
This endpoint is actually a proxy for Upload File in the Files API, and it works with these two differences:
batchUid
as a path parameter.localeIdsToAuthorize
to Files Api, therefore the file stays unauthorized. Instead, localeIdsToAuthorize
are saved just for this batch session and are used when a file is being attached to a job.Upload is only possible if the file was declared in the Create Batch
request or added with REGISTER_FILE
action.
When the first file is uploaded to the new batch, the batch status changes
to ADDING_FILES
. Adds original source content to a Job batch in Smartling.
The provided curl example will upload your Java properties file directly
to a Smartling project, identified by the projectId
, and attaches it
to a Job linked to batchUid
. The response is returned right after the
content of a file is accepted by the Files API. After that, the Batch
service controls whether the file upload finished. Content is parsed,
all strings are ingested, and the file is then attached to the Job which
is linked to the batch for locales, described in localeIdsToAuthorize
.
Endpoint returns response as soon as a file is uploaded to job batches server. File is uploaded to FILE API asynchronously.
Common issues:
fileUri
registered with the batch, upon upload. For example, if you have created a batch with the single file URI test1.xml
and you attempt to upload this with the file URI test2.xml
it will fail, and you will get an error. But you can always use REGISTER_FILE
action.test1.xml
that should be authorized for es
and de
, and you attempt to upload it twice (fileUri=test1.xml
+ localeIdsToAuthorize[]=es
and fileUri=test1.xml
+ localeIdsToAuthorize[]=de
), it will fail and you will get an error. The second upload will be rejected and file will be authorized only for es
locale. You must always pass all desired locales with the registered fileUri (fileUri=test1.xml
+ localeIdsToAuthorize[]=es,de
).projectId required | string <uid> Unique identifier of the project within an account. |
batchUid required | string <uid> A unique identifier for a batch. |
file required | string <binary> The file contents to upload. |
fileUri required | string A value that uniquely identifies the uploaded file. This ID can be used to request the file back. We recommend that you use file path and file name, similar to how version control systems identify the file. Example: |
fileType required | string (FileType) Enum: "android" "ios" "gettext" "html" "java_properties" "xliff" "xml" "json" "docx" "pptx" "xlsx" "idml" "qt" "resx" "plain_text" "csv" "srt" "stringsdict" "xls" "doc" "ppt" "pres" "madcap" "yaml" "markdown" A unique identifier for the file type. |
authorize | boolean Default: false Ignored
Endpoint accepts this field to be consistent with |
localeIdsToAuthorize[] required | Array of strings This value declares locales list which should be used when file is attached to a job. Note: File will not be authorized for these locales once it is uploaded. Authorization happens only when a job is authorized. |
smartling.namespace | string This is only for accounts created after July 31st, 2015. Define a custom namespace for the file. Note: While this parameter shares the format of other file directives, it will not work as an inline directive and must be specified in the API call. |
smartling.file_charset | string Specifies a custom charset for text-format files. The value should be the name of the character set. See a full list of supported character sets here. If this directive is not used, Smartling will use the Note: Once this property has been set for a file, it cannot be changed. If you reupload the file, it will use the original charset, even if you change the directive. An error will be returned if this directive is used when uploading binary-format file types, such as Office or IDML files. |
smartling.[command] | string Provides custom parser configuration for supported file types. See Supported File Types for more details. |
callbackUrl | string <url> A GET request that creates a callback to a URL when a file is 100% published for a locale. The callback gives the fileUri and locale with the format If a callback fails, Smartling will make multiple attempts to reach the designated URL, however, we do not keep retrying a failed callback indefinitely. Try to make sure your callback URL is as stable as possible and be aware that callbacks are not a 100% reliable way of being notified that a file is published. If the upload has begun but is taking more than a minute to complete, it responds with status |
curl -X POST \ 'https://api.smartling.com/job-batches-api/v2/projects/$smartlingProjectId/batches/{batchUid}/file' \ -H "Authorization: Bearer $smartlingToken" \ -F "file=@file.properties;type=text/plain" \ -F "fileUri=file.properties" \ -F "fileType=javaProperties" \ -F "localeIdsToAuthorize[]=fr-FR" \ -F "localeIdsToAuthorize[]=ru-RU"
{- "response": {
- "code": "ACCEPTED"
}
}
Visual context helps Translators make linguistic, layout, and spacing decisions based on where strings appear in your mobile or desktop application. The Context API supports uploading various forms of context (images and HTML), and associate the context with content in Smartling.
Visual Context provides a visual representation of the source content to Translators and Editors as they are performing their work, and is a very effective way to ensure high-quality translations. Visual Context is displayed in the Smartling CAT Tool - the environment in which translations are performed.
The following context types are supported via the Smartling API:
Context type is not specified directly, but rather, inferred via analyzing the request body.
This endpoint accepts multipart/form-data request body.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
name | string Context name. Overwrites the
| ||||||||
content | string <binary> The context file to upload. It should be one of the supported content types(user should insert content type instead of the *. E.g. image/jpeg.):
Maximum file upload size is:
Note: Exclude this parameter if you choose to upload a video context pointing to external MP4 file, youtube or vimeo. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -F "content=@context1.png;type=image/png" -F "name=context1.png" "https://api.smartling.com/context-api/v2/projects/$smartlingProjectId/contexts"
{- "response": {
- "code": "SUCCESS",
- "data": {
- "contextType": "IMAGE",
- "contextUid": "6e66fe6b-b508-4849-9e65-1e502d65755d",
- "created": "2017-05-03T20:47:38Z",
- "name": "image.png"
}
}
}
Returns a paginated list of metadata for all contexts in a project.
Response is limited to 100 items, to retrieve all items the request should be repeated with offset parameter specified.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
nameFilter | string Context name (or url) filter. |
offset | string If your original request returns an offset value, the set of results is incomplete. Run the request again, with the given offset value to see more results. When offset is null, there are no more results to return. |
type | string Enum: "IMAGE" "HTML" "VIDEO" Context type filter. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "contextType": "IMAGE",
- "contextUid": "6e66fe6b-b508-4849-9e65-1e502d65755d",
- "created": "2016-12-19T17:28:29Z",
- "name": "image.png"
}, - {
- "contextType": "IMAGE",
- "contextUid": "ac79677f-0e0a-4d01-b4e3-b94e2e6ba09c",
- "created": "2016-11-11T13:23:32Z",
- "name": "image-context.jpg"
}
]
}
}
}
Retrieves basic information about the context.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
contextUid required | string <uuid> Unique identifier of a context |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "contextType": "VIDEO",
- "contextUid": "6e66fe6b-b508-4849-9e65-1e502d65755d",
- "created": "2017-05-03T20:47:38Z",
}
}
}
Deletes the context metadata and the content. All linked context resources (e.g. CSS, images, and fonts) will also eventually be cleaned up if no other context has them linked. As well, bindings of this context to strings are removed, and strings are marked as having no context.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
contextUid required | string <uuid> Unique identifier of a context |
{- "response": {
- "code": "SUCCESS",
- "data": null
}
}
Initiates an asynchronous process to delete the contexts. All linked context resources (e.g. CSS, images, and fonts) will also eventually be cleaned up if no other context has them linked. As well, bindings of these contexts to strings are removed, and strings are marked as having no context.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
contextUids | Array of strings List of contexts UIDs to delete. List size is limited to 100 items. |
{- "contextUids": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "ffd90ec4-5ca8-4720-8ecf-15dce3404823"
}
}
}
Returns the context content:
Context Type | Content |
---|---|
HTML |
HTML document enriched with data-sl-anchor attributes for most of the elements, also known as binding anchors. |
IMAGE |
Binary image data. Response is accompanied with appropriate Content-Type header. |
VIDEO |
Empty response. |
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
contextUid required | string <uuid> Unique identifier of a context |
Automatically matches context against strings in the project and creates corresponding bindings. Optionally, you can restrict matching to only a set of strings that you specify to ensure that no unwanted bindings are created.
The following endpoint does not support video contexts pointing to Youtube or Vimeo videos.
Optical Character Recognition (OCR) is used for IMAGE
and VIDEO
contexts, while HTML
context uses an approximate string matching algorithm.
This is a convenient method provided to save time and complexity in your integration. Although that our OCR functionality is advanced, it cannot match 100% of strings. If you need complete context coverage, use either Create string to context bindings endpoint to bind strings manually or check your image contexts in the Smartling Dashboard after running this request to fill in any blanks. Note that OCR quality may be lower if you are using an unusual or script-like font.
Applying this operation to a video context, keep in mind the original context will be removed and image contexts will be created instead for each frame that has one matched string at least. A string can't be bound to multiple frames simultaneously.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
contextUid required | string <uuid> Unique identifier of a context |
To ensure context is mapped to the correct string, stringHashcodes
, contentFileUri
or translationJobUids
must be specified.
If none of stringHashcodes
, contentFileUri
, translationJobUids
are specified, all strings from the project will be included in the match.
If overrideContextOlderThanDays
is not specified, strings with context will not be bound to this context.
contentFileUri | string File URI containing strings to perform matching with the context: | ||||||||
stringHashcodes | Array of strings <hash> [ items <hash > ] An array of string hashcodes to perform matching with the context: | ||||||||
translationJobUids | Array of strings <hash> [ items <hash > ] A translation job UID to perform matching with the context. Only one UID can be specified: | ||||||||
overrideContextOlderThanDays | integer >= 1 Specifies whether to override context for strings that were already bound to other context, and that context is at least as "overrideContextOlderThanDays" old. | ||||||||
videoMatchingMode | string Enum: "SUBTITLES" "OCR_WITH_SPLITTING" "OCR" Specifies the behavior of string matching for video contexts.
|
{- "contentFileUri": "string",
- "stringHashcodes": [
- "string"
], - "translationJobUids": [
- "string"
], - "overrideContextOlderThanDays": 1,
- "videoMatchingMode": "SUBTITLES"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "ffd90ec4-5ca8-4720-8ecf-15dce3404823"
}
}
}
Combines two endpoints:
The following context types are supported via the Smartling API:
Strings to match are retrieved from the project specified by the projectId
and
can be filtered further by the optional matchParams
parameter.
If the uploaded file doesn't match any string, the context may not be created.
Example of the raw request accepted by this API:
Content-Type: multipart/form-data; boundary
----------------------------293641908835402749402839
Content-Disposition: form-data; name="content"; filename="example.html"
Content-Type: text/html
<html>
<body>
<div> bla</div>
</body>
</html>
----------------------------293641908835402749402839
Content-Disposition: form-data; name="name"
https://your.domain.com/path/example.html
----------------------------293641908835402749402839
Content-Disposition: form-data; name="matchParams"
Content-Type: application/json
{
"contentFileUri":"example.properties",
"stringHashcodes": [],
"overrideContextOlderThanDays": 1
}
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
name | string Context name. Will overwrites the
| ||||||||
object (MatchParams) Uncollapse this block to get the detailed description of | |||||||||
content required | string <binary> The context file to upload. It should be one of the supported content types(user should insert content type instead of the *. E.g. image/jpeg.):
Maximum file upload size is:
Note: Exclude this parameter if you choose to upload a video context pointing to external MP4 file, youtube or vimeo. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "ffd90ec4-5ca8-4720-8ecf-15dce3404823"
}
}
}
Check the status of the match request and get results once the match is completed.
When the match has been completed, any newly created bindings are also returned in the response.
This endpoint is deprecated and will be deleted. We recommend to use Retrieve asynchronous process results
endpoint
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
matchId required | string <uuid> Identifier of the match request obtained when running asynchronous match request. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "bindings": [
- {
- "anchors": [
- "11",
- "custom.anchor"
], - "bindingUid": "a9308883-30c7-4832-a023-6c3b10f6f9b1",
- "contextUid": "428bf090-60fa-473d-ac07-4a551aa06c47",
- "stringHashcode": "374825f7d147fb5700f23b2b22d6660d"
}, - {
- "anchors": [
- "12"
], - "bindingUid": "a9308883-30c7-4832-a023-6c3b10f6f9b1",
- "contextUid": "428bf090-60fa-473d-ac07-4a551aa06c47",
- "stringHashcode": "374825f7d147fb5700f23b2b22d6660d"
}
], - "createdDate": "2017-05-05T19:06:22Z",
- "matchId": "a9308883-30c7-4832-a023-6c3b10f6f9b1",
- "modifiedDate": "2017-05-05T19:06:22Z",
- "status": "COMPLETED"
}
}
}
Check the status of the asynchronous process and get the results once the process is completed
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
processUid required | string <uuid> Identifier of the asynchronous process obtained when running asynchronous request. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "00000000-0000-0000-0000-000000000000",
- "processState": "COMPLETED",
- "processType": "MATCH_CONTEXT",
- "createdDate": "2021-01-01T12:00:00Z",
- "modifiedDate": "2021-01-01T12:30:00Z",
- "result": {
- "contextUid": "11111111-1111-1111-1111-111111111111",
- "checkedStringsCount": 50,
- "bindings": [
- {
- "bindingUid": "22222222-2222-2222-2222-222222222222",
- "contextUid": "11111111-1111-1111-1111-111111111111",
- "stringHashcode": "4444444444444444444444444444444a",
- "coordinates": {
- "top": 461,
- "left": 432,
- "height": 28,
- "width": 90
}
}, - {
- "bindingUid": "33333333-3333-3333-3333-333333333333",
- "contextUid": "11111111-1111-1111-1111-111111111111",
- "stringHashcode": "5555555555555555555555555555555b",
- "anchors": [
- "123",
- "custom.anchor"
]
}
]
}
}
}
}
Link context files with the strings they contain.
The binding tells Smartling to show Translators which context images for which strings.
A basic bindings request should contain an object with a bindings
JSON array, with at least one element (binding) featuring contextUid
and stringHashcode
properties:
{
"bindings": [
{
"contextUid": "25137b65-e075-4341-8362-14b1a3e558f5",
"stringHashcode": "bd603147d945h3ec74d6874422ebe4e0"
}
]
}
For IMAGE
context, each binding may have additional coordinates
data that specifies a rectangular area where the string is located in the image. If not specified, binding will still be created with coordinates [0,0,0,0]
:
{
"bindings": [
{
"contextUid": "25137b65-e075-4341-8362-14b1a3e558f5",
"stringHashcode": "bd603147d945h3ec74d6874422ebe4e0",
"coordinates": {
"top": 50,
"left": 50,
"width": 400,
"height": 400
}
}
]
}
For HTML
context, each binding may have the selector
element with anchors
array, specifying the enclosing the string HTML elements with the corresponding value of the data-sl-anchor
attribute.
Each anchor
value can have up to 20 characters and consist of the following characters: 0-9
(more preferably), A-Z
, a-z
, .-_
.
If not specified, binding will still be created with the empty anchors
array, effectively making it not anchored to a particular element and thus invisible in CAT Tool:
{
"bindings": [
{
"contextUid": "25137b65-e075-4341-8362-14b1a3e558f5",
"stringHashcode": "bd603147d945h3ec74d6874422ebe4e0",
"selector": {
"anchors": ["11", "22", "aa-33"]
}
}
]
}
For VIDEO
context, each binding has the timecode
data, specifying the start and end time of the string appearance in the video:
{
"bindings": [
{
"contextUid": "25137b65-e075-4341-8362-14b1a3e558f5",
"stringHashcode": "bd603147d945h3ec74d6874422ebe4e0",
"timecode": {
"startTime": 1203,
"endTime": 1450
}
}
]
}
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
String-to-context bindings
Array of objects List of strings-to-context bindings. List size is limited to 150 items. |
{- "bindings": [
- {
- "contextUid": "1d201c18-e0b1-4701-b187-3cd8db0c5c9d",
- "stringHashcode": "string",
- "coordinates": {
- "height": 0,
- "left": 0,
- "top": 0,
- "width": 0
}, - "selector": {
- "anchors": [
- "string"
]
}, - "timecode": {
- "endTime": 0,
- "startTime": 0
}
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "created": {
- "items": [
- {
- "bindingUid": "d6414f8c-4gdf-4415-9a69-f8e7902ca9ec",
- "contextUid": "25137b65-e075-4341-8362-14b1a3e558f5",
- "stringHashcode": "bd603147d945h3ec74d6874422ebe4e0",
- "anchors": [
- "11"
], - "contextPosition": 11,
- "coordinates": {
- "bottom": 400,
- "left": 50,
- "right": 400,
- "top": 50
}, - "timecode": {
- "startTime": 0,
- "endTime": 1000
}
}
], - "totalCount": 1
}, - "errors": {
- "items": [
- {
- "message": "error message one"
}, - {
- "message": "error message two"
}
], - "totalCount": 2
}
}
}
}
Returns a paginated list of bindings according to specified parameters.
Response is limited to 5000 items, to retrieve all items the request should be repeated with offset parameter specified.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
offset | string If your original request returns an offset value, the set of results is incomplete. Run the request again, with the given offset value to see more results. When offset is null, there are no more results to return. |
Search bindings parameters. Only on of them should be specified.
stringHashcodes | Array of strings List of the hashcodes for the strings to get bindings for. |
contentFileUri | string Content file name to get bindings for. |
contextUid | string <uuid> ContextUID to get bindings for. |
bindingUids | Array of strings List of unique binding identifiers. |
{- "stringHashcodes": [
- "string"
], - "contentFileUri": "string",
- "contextUid": "1d201c18-e0b1-4701-b187-3cd8db0c5c9d",
- "bindingUids": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "anchors": [
- "string"
], - "contextPosition": 0,
- "bindingUid": "string",
- "contextUid": "string",
- "coordinates": {
- "height": 0,
- "left": 0,
- "top": 0,
- "width": 0
}, - "stringHashcode": "string",
- "timecode": {
- "endTime": 0,
- "startTime": 0
}
}
], - "offset": "string"
}
}
}
Delete bindings for specified parameters.
projectId required | string <uuid> A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
Bindings delete parameter. Only on of them should be specified.
stringHashcodes | Array of strings List of the hashcodes for the strings to delete bindings for. |
contentFileUri | string Content file name to delete bindings for. |
contextUid | string <uuid> ContextUID to delete bindings for. |
bindingUids | Array of strings Unique binding identifier to delete. |
{- "stringHashcodes": [
- "string"
], - "contentFileUri": "string",
- "contextUid": "1d201c18-e0b1-4701-b187-3cd8db0c5c9d",
- "bindingUids": [
- "string"
]
}
{- "code": "SUCCESS"
}
The Issues feature is a way for users who are working on a translation workflow to communicate with other users about source content and translations. For example, a Translator might create an issue to ask a question about terminology in a particular string.
By using Issues, you can record any communication about a string, and this can be seen by anyone working on it. Issues streamline the translation workflow. Translators get answers to their questions about the original content so they can translate it quickly and correctly. Translation resources can review and provide feedback about translations collaboratively.
The Issues API provides methods for creating issues, changing the state of an issue, commenting on an issue, requesting detailed information, as well as creating reports on issues and comments.
This request returns all current allowed states. Currently, the only allowed issue states are OPENED
and RESOLVED
. However, in the future, Smartling may introduce additional states.
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/dictionary/issue-states
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "description": "Opened",
- "issueStateCode": "OPENED"
}, - {
- "description": "Resolved",
- "issueStateCode": "RESOLVED"
}
], - "totalCount": 2
}
}
}
Returns a list of issue severity levels.
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/dictionary/issue-severity-levels
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "description": "Low",
- "issueSeverityLevelCode": "LOW"
}, - {
- "description": "Medium",
- "issueSeverityLevelCode": "MEDIUM"
}, - {
- "description": "High",
- "issueSeverityLevelCode": "HIGH"
}
], - "totalCount": 3
}
}
}
This request returns all current issue types for a specific account. Smartling may occasionally add or change the list of allowed issue types.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/issue-types
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "description": "Source",
- "issueTypeCode": "SOURCE",
- "subTypes": [
- {
- "description": "Clarification",
- "issueSubTypeCode": "CLARIFICATION"
}, - {
- "description": "Misspelling",
- "issueSubTypeCode": "MISSPELLING"
}
]
}, - {
- "description": "Translation",
- "issueTypeCode": "TRANSLATION",
- "subTypes": [
- {
- "description": "Poor translation",
- "issueSubTypeCode": "POOR_TRANSLATION"
}, - {
- "description": "Doesn't fit the space",
- "issueSubTypeCode": "DOES_NOT_FIT_SPACE"
}, - {
- "description": "Placeholder issue",
- "issueSubTypeCode": "PLACEHOLDER_ISSUE"
}, - {
- "description": "Review translation",
- "issueSubTypeCode": "REVIEW_TRANSLATION"
}, - {
- "description": "MT Error",
- "issueSubTypeCode": "MT_ERROR"
}
]
}
], - "totalCount": 2
}
}
}
Creates a new issue for a string. Issue text is treated as plain text. Smartling will save the text as provided, and will not attempt to render this text with any special formatting in its UIs. It will not be rendered as HTML or markdown. Users of the Issues API should be aware, and escape the text as needed before attempting to render it. Maximum length is 4000 characters.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
New issue for a string
issueText required | string Free text field explaining an issue. |
issueTypeCode required | string Enum: "SOURCE" "TRANSLATION" Identifies the issue type. issueTypeCode is either |
issueSubTypeCode required | string Enum: "CLARIFICATION" "MISSPELLING" "POOR_TRANSLATION" "DOES_NOT_FIT_SPACE" "PLACEHOLDER_ISSUE" "REVIEW_TRANSLATION" "CUSTOM" "MT_ERROR" For issueTypeCode=SOURCE - CLARIFICATION | MISSPELLING, For issueTypeCode=TRANSLATION - POOR_TRANSLATION | DOES_NOT_FIT_SPACE | PLACEHOLDER_ISSUE | REVIEW_TRANSLATION | MT_ERROR |
required | object |
assigneeUserUid | string User identifier who is assigned to issue |
issueSeverityLevelCode |
{- "issueText": "This translation is incorrect. Please fix.",
- "issueTypeCode": "SOURCE",
- "issueSubTypeCode": "CLARIFICATION",
- "string": {
- "hashcode": "c32c16cddafd63dfa0dc12449372a093",
- "localeId": "ru-RU"
}, - "assigneeUserUid": "7c9ff09e71b3",
- "issueSeverityLevelCode": "LOW"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "answered": false,
- "createdDate": "2015-11-10T16:01:22Z",
- "issueSeverityLevelCode": "LOW",
- "issueStateCode": "OPENED",
- "issueSubTypeCode": "CLARIFICATION",
- "issueText": "asdfsd",
- "issueTypeCode": "SOURCE",
- "issueUid": "dceaa996d417",
- "projectId": "e8fa915fa",
- "accountUid": "2sadsa3se",
- "issueNumber": 34,
- "reportedByUserUid": "661801f19693",
- "string": {
- "hashcode": "c32c16cddafd63dfa0dc12449372a093"
}, - "issueCommentsCount": 0,
- "assigneeUserUid": "7c9ff09e71b2",
- "reopened": false,
- "reopenedByUserUid": null,
- "reopenedDate": null
}
}
}
Replaces the text of an issue with new text.
Note: Only the author of the issue can perform this action. The issueTextModifiedDate
property of an issue object shows when it was last updated.
Issue text is treated as plain text. Smartling will save the text as provided and will not attempt to render this text with any special formatting in its UIs; it will not be rendered as HTML or markdown. When using the Issues API, you should escape the text as needed before attempting to render it. Maximum length is 4000 characters.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueText required | string Free text field explaining an issue. |
{- "issueText": "Edited issue text."
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "issueText": "Edited issue text.",
- "issueTextModifiedDate": "2015-11-10T16:01:22Z"
}
}
}
The state of an issue. Accepted values are OPENED
or RESOLVED
.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueStateCode required |
{- "issueStateCode": "OPENED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "issueStateCode": "RESOLVED",
- "reopened": false
}
}
}
Returns detailed information of a single issue.
Note: The resolvedByUserUid
and reportedByUserUid
values are not currently usable for identifying the users who created or resolved issues. In the future, a People API will be exposed for looking up user details.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/projects/$smartlingProjectId/issues/$issueUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "answered": false,
- "createdDate": "2015-11-10T16:01:22Z",
- "issueSeverityLevelCode": "LOW",
- "issueStateCode": "OPENED",
- "issueSubTypeCode": "POOR_TRANSLATION",
- "issueText": "This translation is incorrect. Please fix.",
- "issueTypeCode": "TRANSLATION",
- "issueUid": "dceaa996d417",
- "projectId": "e8fa915fa",
- "accountUid": "dqsd4r5vr",
- "issueNumber": 53,
- "reportedByUserUid": "661801f19693",
- "string": {
- "hashcode": "c32c16cddafd63dfa0dc12449372a093",
- "localeId": "ru-RU"
}, - "issueCommentsCount": 5,
- "assigneeUserUid": "661801f19693",
- "reopened": true,
- "reopenedByUserUid": "661801f19693",
- "reopenedDate": "2015-11-10T16:01:22Z"
}
}
}
Update issue attribute (answered). "Answered" is a boolean; (true/false).
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
answered required | boolean Issue flag "answered" |
{- "answered": true
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "answered": true
}
}
}
Update issue attribute (assigneeUserUid). "assigneeUserUid" is a string.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
assigneeUserUid required | string User identifier who is assigned to issue |
{- "assigneeUserUid": "string"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "assigneeUserUid": "661801f19693"
}
}
}
Delete issue attribute (assigneeUserUid). "assigneeUserUid" is a string.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
{- "response": {
- "code": "SUCCESS"
}
}
Update issue attribute (severity level) (LOW / MEDIUM / HIGH)
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueSeverityLevelCode required |
{- "issueSeverityLevelCode": "LOW"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "issueSeverityLevelCode": "LOW"
}
}
}
Update issue attribute (issue type) (SOURCE / TRANSLATION)
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueTypeCode required | string Enum: "SOURCE" "TRANSLATION" Identifies the issue type. issueTypeCode is either |
issueSubTypeCode required | string Enum: "CLARIFICATION" "MISSPELLING" "POOR_TRANSLATION" "DOES_NOT_FIT_SPACE" "PLACEHOLDER_ISSUE" "REVIEW_TRANSLATION" "CUSTOM" "MT_ERROR" For issueTypeCode=SOURCE - CLARIFICATION | MISSPELLING, For issueTypeCode=TRANSLATION - POOR_TRANSLATION | DOES_NOT_FIT_SPACE | PLACEHOLDER_ISSUE | REVIEW_TRANSLATION | MT_ERROR |
localeId | string An identifying code for a target language in Smartling. |
{- "issueTypeCode": "SOURCE",
- "issueSubTypeCode": "CLARIFICATION",
- "localeId": "ru-RU"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "issueTypeCode": "TRANSLATION",
- "issueSubTypeCode": "POOR_TRANSLATION",
- "localeId": "ru-RU"
}
}
}
Returns all comments on an issue.
Note: The createdByUserUid
value is not currently usable for identifying the users who created comments. In the future, a People API will be exposed for looking up user details.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/projects/$smartlingProjectId/issues/$issueUid/comments
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "commentText": "comment text",
- "createdByUserUid": "661801f19693",
- "createdDate": "2015-12-22T12:34:49Z",
- "issueCommentUid": "a75fea779bbb"
}
], - "totalCount": 1
}
}
}
Create a comment for an issue. Comment text is treated as plain text. Smartling will save the text as provided, and will not attempt to render this text with any special formatting in its UIs. It will not be rendered as HTML or markdown. If you're using the Issues API, escape the text as needed before attempting to render it. Maximum length is 4000 characters.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue |
commentText required | string Text of the comment you want to make. |
{- "commentText": "Hey, are you sure this is what you want?"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "commentText": "comment text",
- "createdByUserUid": "661801f19693",
- "createdDate": "2015-12-22T12:34:49Z",
- "issueCommentUid": "a75fea779bbb"
}
}
}
Replaces the text of an issue with new text.
Note: Only the author of an issue can perform this action. The commentTextModifiedDate
property of an issue object shows when it was last updated.
Comment text is treated as plain text. Smartling will save the text as provided and will not attempt to render this text with any special formatting in its UIs. It will not be rendered as HTML or markdown. If you're using the Issues API, escape the text as needed before attempting to render it. Maximum length is 4000 characters.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueCommentUid required | string Unique identifier of corresponding issue commment. |
commentText required | string Text of the comment you want to make. |
{- "commentText": "Hey, are you sure this is what you want?"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "commentText": "comment text",
- "commentTextModifiedDate": "2016-12-22T12:34:49Z",
- "createdByUserUid": "661801f19693",
- "createdDate": "2015-12-22T12:34:49Z",
- "issueCommentUid": "a75fea779bbb"
}
}
}
Returns detailed information on a single issue comment.
Note: The createdByUserUid
value is not currently usable for identifying the users who created comments. In the future, a People API will be exposed for looking up user details.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueCommentUid required | string Unique identifier of corresponding issue comment. |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/projects/$smartlingProjectId/issues/$issueUid/comments/$issueCommentUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "commentText": "test comment",
- "createdByUserUid": "661801f19693",
- "createdDate": "2015-12-22T11:54:27Z",
- "issueCommentUid": "ac5211a26eca"
}
}
}
Delete comment.
Note: The author of the issue comment, account owner and project manager can perform this action.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue. |
issueCommentUid required | string Unique identifier of corresponding issue commment. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/projects/$smartlingProjectId/issues/$issueUid/comments/$issueCommentUid
{- "response": {
- "code": "SUCCESS"
}
}
Returns a list of issues matching specified filter options. You can filter based on the date issues were created, target languages, strings, issue types, states, issue numbers, job unique ids, issues not associated with strings in a job, issue assignee, and which user opened the issue. Unless otherwise specified, the request will return a maximum of 30 results. All parameters are optional.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
createdDateBefore | string Filter issues which were created before this date. |
createdDateAfter | string Filter issues which were created after this date. |
resolvedDateBefore | string Filter issues which were resolved before this date. |
resolvedDateAfter | string Filter issues which were resolved after this date. |
answered | boolean Issue flag "answered". |
reopened | boolean Issue flag "reopened". |
issueSeverityLevelCodes | Array of strings Items Enum: "LOW" "MEDIUM" "HIGH" |
issueStateCodes | Array of strings Items Enum: "OPENED" "RESOLVED" |
issueSubTypeCodes | Array of strings Items Enum: "CLARIFICATION" "MISSPELLING" "POOR_TRANSLATION" "DOES_NOT_FIT_SPACE" "PLACEHOLDER_ISSUE" "REVIEW_TRANSLATION" "CUSTOM" "MT_ERROR" |
issueTypeCodes | Array of strings Items Enum: "SOURCE" "TRANSLATION" |
issueWatchingStateCode | string Enum: "WATCHING" "NOT_WATCHING" Issue Watching State identifier. |
reportedByUserUid | string User identifier who created the issue. |
assigneeUserUid | string User identifier who is assigned to issue. |
hasComments | boolean Does the issue have any comments? True for issues that have comments. False for issues that have only the original description but no comments. |
issueNumbers | Array of integers <= 1000 items |
object | |
object | |
limit | integer >= 0 Default: 30 limit |
offset | integer >= 0 Default: 0 offset |
object Sort result by fields |
{- "createdDateBefore": "2015-12-23T18:14:09Z",
- "createdDateAfter": "2015-11-10T15:14:09Z",
- "resolvedDateBefore": "2015-12-23T18:14:09Z",
- "resolvedDateAfter": "2015-11-10T15:14:09Z",
- "answered": false,
- "reopened": true,
- "issueSeverityLevelCodes": [
- "LOW"
], - "issueStateCodes": [
- "OPENED"
], - "issueSubTypeCodes": [
- "CLARIFICATION"
], - "issueTypeCodes": [
- "SOURCE"
], - "issueWatchingStateCode": "WATCHING",
- "reportedByUserUid": "661801f19693",
- "assigneeUserUid": "661801f19693",
- "hasComments": true,
- "issueNumbers": [
- 10,
- 11,
- 12
], - "jobFilter": {
- "jobUids": [
- "uhtkye5amtiz",
- "h9blewayxsz9"
], - "presence": "HAS_ANY"
}, - "stringFilter": {
- "hashcodes": [
- "afe47cdaffe0c0226506919c291d9c1a",
- "afe37cdaffe0c0226508919c291d9c1a",
- "afe47cdaffe0c02265406919c291d2c1a"
], - "localeIds": [
- "ru-RU"
]
}, - "limit": 30,
- "offset": 0,
- "sortBy": {
- "items": [
- {
- "direction": "ASC",
- "fieldName": "issueTypeCode"
}
]
}
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "answered": false,
- "createdDate": "2015-12-21T16:38:48Z",
- "issueSeverityLevelCode": "LOW",
- "issueStateCode": "OPENED",
- "issueSubTypeCode": "DOES_NOT_FIT_SPACE",
- "issueText": "does not fit space",
- "issueTypeCode": "TRANSLATION",
- "issueUid": "902372ac8e1e",
- "projectId": "e8fa915fa",
- "accountUid": "e3e3d44r5d",
- "issueNumber": 32,
- "reportedByUserUid": "661801f19693",
- "assigneeUserUid": "661801f19693",
- "string": {
- "hashcode": "c32c16cddafd63dfa0dc12449372a093",
- "localeId": "ru-RU"
}, - "issueCommentsCount": 4,
- "reopened": true,
- "reopenedByUserUid": "661801f19693",
- "reopenedDate": "2015-12-21T16:38:48Z"
}
]
}, - "totalCount": 1
}
}
Returns a count of issues matching specified filter options. You can filter based on the date issues were created, strings, target languages, issue types, states, issue numbers, job unique ids, issues not associated with strings in a job, issue assignee, and which user opened the issue. All parameters are optional.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
createdDateBefore | string Filter issues which created before this date |
createdDateAfter | string Filter issues which created after this date |
resolvedDateBefore | string Filter issues which resolved before this date |
resolvedDateAfter | string Filter issues which resolved after this date |
answered | boolean Issue flag "answered" |
reopened | boolean Issue flag "reopened". |
issueSeverityLevelCodes | Array of strings Items Enum: "LOW" "MEDIUM" "HIGH" |
issueStateCodes | Array of strings Items Enum: "OPENED" "RESOLVED" |
issueSubTypeCodes | Array of strings Items Enum: "CLARIFICATION" "MISSPELLING" "POOR_TRANSLATION" "DOES_NOT_FIT_SPACE" "PLACEHOLDER_ISSUE" "REVIEW_TRANSLATION" "CUSTOM" "MT_ERROR" |
issueTypeCodes | Array of strings Items Enum: "SOURCE" "TRANSLATION" |
issueWatchingStateCode | string Enum: "WATCHING" "NOT_WATCHING" Issue Watching State identifier. |
reportedByUserUid | string User identifier who created issue |
assigneeUserUid | string User identifier who is assigned to issue |
hasComments | boolean Does the issue have any comments? True for issues that have comments. False for issues that have only the original description but no comments. |
issueNumbers | Array of integers <= 1000 items |
object | |
object |
{- "createdDateBefore": "string",
- "createdDateAfter": "2015-11-10T15:14:09Z",
- "resolvedDateBefore": "2015-12-23T18:14:09Z",
- "resolvedDateAfter": "2015-11-10T15:14:09Z",
- "answered": true,
- "reopened": true,
- "issueSeverityLevelCodes": [
- "LOW"
], - "issueStateCodes": [
- "OPENED"
], - "issueSubTypeCodes": [
- "CLARIFICATION"
], - "issueTypeCodes": [
- "SOURCE"
], - "issueWatchingStateCode": "WATCHING",
- "reportedByUserUid": "661801f19693",
- "assigneeUserUid": "661801f19693",
- "hasComments": true,
- "issueNumbers": [
- 10,
- 11,
- 12
], - "jobFilter": {
- "jobUids": [
- "uhtkye5amtiz",
- "h9blewayxsz9"
], - "presence": "HAS_ANY"
}, - "stringFilter": {
- "hashcodes": [
- "afe47cdaffe0c0226506919c291d9c1a",
- "afe37cdaffe0c0226508919c291d9c1a",
- "afe47cdaffe0c02265406919c291d2c1a"
], - "localeIds": [
- "ru-RU"
]
}
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "count": 2
}
}
}
Returns a list of issues matching specified filter options. You can filter based on the date issues were created, target languages, strings, issue types, states, issue numbers, project ids, job unique ids, issues not associated with strings in a job, issue assignee, and which user opened the issue. Unless otherwise specified, the request will return a maximum of 30 results. All parameters are optional.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectIds | Array of strings UOptional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API. |
createdDateBefore | string Filter issues which were created before this date. |
createdDateAfter | string Filter issues which were created after this date. |
resolvedDateBefore | string Filter issues which were resolved before this date. |
resolvedDateAfter | string Filter issues which were resolved after this date. |
answered | boolean Issue flag "answered". |
reopened | boolean Issue flag "reopened". |
issueSeverityLevelCodes | Array of strings Items Enum: "LOW" "MEDIUM" "HIGH" |
issueStateCodes | Array of strings Items Enum: "OPENED" "RESOLVED" |
issueSubTypeCodes | Array of strings Items Enum: "CLARIFICATION" "MISSPELLING" "POOR_TRANSLATION" "DOES_NOT_FIT_SPACE" "PLACEHOLDER_ISSUE" "REVIEW_TRANSLATION" "CUSTOM" "MT_ERROR" |
issueTypeCodes | Array of strings Items Enum: "SOURCE" "TRANSLATION" |
issueWatchingStateCode | string Enum: "WATCHING" "NOT_WATCHING" Issue Watching State identifier. |
reportedByUserUid | string User identifier who created the issue. |
assigneeUserUid | string User identifier who is assigned to issue. |
hasComments | boolean Does the issue have any comments? True for issues that have comments. False for issues that have only the original description but no comments. |
issueNumbers | Array of integers <= 1000 items |
object | |
object | |
limit | integer >= 0 Default: 30 limit |
offset | integer >= 0 Default: 0 offset |
object Sort result by fields |
{- "projectIds": [
- "c711467bs"
], - "createdDateBefore": "2015-12-23T18:14:09Z",
- "createdDateAfter": "2015-11-10T15:14:09Z",
- "resolvedDateBefore": "2015-12-23T18:14:09Z",
- "resolvedDateAfter": "2015-11-10T15:14:09Z",
- "answered": false,
- "reopened": true,
- "issueSeverityLevelCodes": [
- "LOW"
], - "issueStateCodes": [
- "OPENED"
], - "issueSubTypeCodes": [
- "CLARIFICATION"
], - "issueTypeCodes": [
- "SOURCE"
], - "issueWatchingStateCode": "WATCHING",
- "reportedByUserUid": "661801f19693",
- "assigneeUserUid": "661801f19693",
- "hasComments": true,
- "issueNumbers": [
- 10,
- 11,
- 12
], - "jobFilter": {
- "jobUids": [
- "uhtkye5amtiz",
- "h9blewayxsz9"
], - "presence": "HAS_ANY"
}, - "stringFilter": {
- "hashcodes": [
- "afe47cdaffe0c0226506919c291d9c1a",
- "afe37cdaffe0c0226508919c291d9c1a",
- "afe47cdaffe0c02265406919c291d2c1a"
], - "localeIds": [
- "ru-RU"
]
}, - "limit": 30,
- "offset": 0,
- "sortBy": {
- "items": [
- {
- "direction": "ASC",
- "fieldName": "issueTypeCode"
}
]
}
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "answered": false,
- "createdDate": "2015-12-21T16:38:48Z",
- "issueSeverityLevelCode": "LOW",
- "issueStateCode": "OPENED",
- "issueSubTypeCode": "DOES_NOT_FIT_SPACE",
- "issueText": "does not fit space",
- "issueTypeCode": "TRANSLATION",
- "issueUid": "902372ac8e1e",
- "projectId": "e8fa915fa",
- "accountUid": "e3e3d44r5d",
- "issueNumber": 32,
- "reportedByUserUid": "661801f19693",
- "assigneeUserUid": "661801f19693",
- "string": {
- "hashcode": "c32c16cddafd63dfa0dc12449372a093",
- "localeId": "ru-RU"
}, - "issueCommentsCount": 4,
- "reopened": true,
- "reopenedByUserUid": "661801f19693",
- "reopenedDate": "2015-12-21T16:38:48Z"
}
], - "totalCount": 1
}
}
}
Returns a count of issues matching specified filter options. You can filter based on the date issues were created, target languages, strings, issue types, states, issue numbers, project ids, job unique ids, issues not associated with strings in a job, issue assignee, and which user opened the issue. All parameters are optional.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectIds | Array of strings UOptional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API. |
createdDateBefore | string Filter issues which created before this date |
createdDateAfter | string Filter issues which created after this date |
resolvedDateBefore | string Filter issues which resolved before this date |
resolvedDateAfter | string Filter issues which resolved after this date |
answered | boolean Issue flag "answered" |
reopened | boolean Issue flag "reopened". |
issueSeverityLevelCodes | Array of strings Items Enum: "LOW" "MEDIUM" "HIGH" |
issueStateCodes | Array of strings Items Enum: "OPENED" "RESOLVED" |
issueSubTypeCodes | Array of strings Items Enum: "CLARIFICATION" "MISSPELLING" "POOR_TRANSLATION" "DOES_NOT_FIT_SPACE" "PLACEHOLDER_ISSUE" "REVIEW_TRANSLATION" "CUSTOM" "MT_ERROR" |
issueTypeCodes | Array of strings Items Enum: "SOURCE" "TRANSLATION" |
issueWatchingStateCode | string Enum: "WATCHING" "NOT_WATCHING" Issue Watching State identifier. |
reportedByUserUid | string User identifier who created issue |
assigneeUserUid | string User identifier who is assigned to issue |
hasComments | boolean Does the issue have any comments? True for issues that have comments. False for issues that have only the original description but no comments. |
issueNumbers | Array of integers <= 1000 items |
object | |
object |
{- "projectIds": [
- "c711467bs"
], - "createdDateBefore": "string",
- "createdDateAfter": "2015-11-10T15:14:09Z",
- "resolvedDateBefore": "2015-12-23T18:14:09Z",
- "resolvedDateAfter": "2015-11-10T15:14:09Z",
- "answered": true,
- "reopened": true,
- "issueSeverityLevelCodes": [
- "LOW"
], - "issueStateCodes": [
- "OPENED"
], - "issueSubTypeCodes": [
- "CLARIFICATION"
], - "issueTypeCodes": [
- "SOURCE"
], - "issueWatchingStateCode": "WATCHING",
- "reportedByUserUid": "661801f19693",
- "assigneeUserUid": "661801f19693",
- "hasComments": true,
- "issueNumbers": [
- 10,
- 11,
- 12
], - "jobFilter": {
- "jobUids": [
- "uhtkye5amtiz",
- "h9blewayxsz9"
], - "presence": "HAS_ANY"
}, - "stringFilter": {
- "hashcodes": [
- "afe47cdaffe0c0226506919c291d9c1a",
- "afe37cdaffe0c0226508919c291d9c1a",
- "afe47cdaffe0c02265406919c291d2c1a"
], - "localeIds": [
- "ru-RU"
]
}
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "count": 2
}
}
}
Get a list of all issue watchers for the entire account.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
string Watcher email | |
limit | number Default: 100 limit |
offset | number Default: 0 offset |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/watchers
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "created": "2015-12-21T16:38:48Z",
- "email": "my@mail.com",
- "enabled": true,
- "modified": "2015-12-21T16:38:48Z",
- "name": "Mike Albert",
- "uid": "323323wsss"
}
], - "totalCount": 1
}
}
}
Create a new watcher.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
email required | string watcher email |
enabled | boolean Should send email notification to this email. |
name required | string watcher name |
{- "email": "my@maul.com",
- "enabled": true,
- "name": "Alonso"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "created": "2015-12-21T16:38:48Z",
- "email": "my@mail.com",
- "enabled": true,
- "modified": "2015-12-21T16:38:48Z",
- "name": "Mike Albert",
- "uid": "323323wsss"
}
}
}
Update the attributes of a watcher.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
watcherUid required | string Unique identifier of the corresponding watcher. |
email required | string watcher email |
enabled | boolean Should send email notification to this email. |
name required | string watcher name |
{- "email": "my@maul.com",
- "enabled": true,
- "name": "Alonso"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "created": "2015-12-21T16:38:48Z",
- "email": "my@mail.com",
- "enabled": true,
- "modified": "2015-12-21T16:38:48Z",
- "name": "Mike Albert",
- "uid": "323323wsss"
}
}
}
Associate or assign the watcher to an issue. The watcher will then begin receiving email notifications. Emails do not have to have access to the Smartling account to be added as a Watcher. If they have access to the account the emails include links to view the issue in the dashboard.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue |
watcherUid required | string |
curl -X PUT -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/projects/$smartlingProjectId/issues/$issueUid/watchers/$issueWatcherUid
{- "response": {
- "code": "SUCCESS"
}
}
An update to an issue is sent to the associated/linked watcher. Once watchers are removed from an issue, email notifications will no longer be received by them.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue |
watcherUid required | string Unique identifier of corresponding watcher |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/projects/$smartlingProjectId/issues/$issueUid/watchers/$issueWatcherUid
{- "response": {
- "code": "SUCCESS"
}
}
Get a list of watchers that are linked to the issue.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueUid required | string Unique identifier of corresponding issue |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/projects/$smartlingProjectId/issues/$issueUid/watchers
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "created": "2015-12-21T16:38:48Z",
- "email": "my@mail.com",
- "enabled": true,
- "modified": "2015-12-21T16:38:48Z",
- "name": "Mike Albert",
- "uid": "323323wsss"
}
], - "totalCount": 1
}
}
}
Create account issue subtype.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueType required |
issueSubTypeCode | string <= 80 characters ^[a-zA-Z0-9_]+$ Unique identifier code of issue subtype |
description | string Description of issue subtype that is shown in the Smartling Dashboard UI and can be used for custom integrations to show a user friendly description of the subtype. |
{- "issueSubTypeCode": "TEST_CODE",
- "description": "issue subtype code description"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "issueSubTypeCode": "TEST_CODE",
- "description": "issue subtype code description"
}
}
}
Update account issue subtype description that is shown in the Smartling Dashboard UI and can be used for custom integrations to show a user friendly description of the subtype.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueType required | |
issueSubTypeCode required | string Unique identifier of issue subtype |
description | string Description of issue subtype that is shown in the Smartling Dashboard UI and can be used for custom integrations to show a user friendly description of the subtype. |
{- "description": "issue subtype code description"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "issueSubTypeCode": "TEST_CODE",
- "description": "issue subtype code description"
}
}
}
Delete account issue subtype.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueType required | string Unique identifier of issue type |
issueSubTypeCode required | string Unique identifier of issue subtype |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/issue-types/$smartlingIssueType/sub-types/$smartlingIssueSubTypeCode
{- "code": "SUCCESS"
}
Default for new subtypes is 'true'. If a subtype is updated with enabled = 'false' the subtype cannot be used for new issues. Existing issues will not be affected.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
issueType required | |
issueSubTypeCode required | string Unique identifier of issue subtype |
enabled | boolean Default for new subtypes is 'true'. If a subtype is updated with enabled = 'false' the subtype cannot be used for new issues. Existing issues will not be affected. |
{- "enabled": true
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "enabled": true
}
}
}
This is deprecated. Instead, use this endpoint: /issues-api/v2/accounts/{accountUid}/issue-types. This request returns all current issue types. Smartling may occasionally add or change the list of allowed issue types.
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "description": "Source",
- "issueTypeCode": "SOURCE",
- "subTypes": [
- {
- "description": "Clarification",
- "issueSubTypeCode": "CLARIFICATION"
}, - {
- "description": "Misspelling",
- "issueSubTypeCode": "MISSPELLING"
}
]
}, - {
- "description": "Translation",
- "issueTypeCode": "TRANSLATION",
- "subTypes": [
- {
- "description": "Poor Translation",
- "issueSubTypeCode": "POOR_TRANSLATION"
}, - {
- "description": "Doesn't Fit Space",
- "issueSubTypeCode": "DOES_NOT_FIT_SPACE"
}, - {
- "description": "Placeholder Issue",
- "issueSubTypeCode": "PLACEHOLDER_ISSUE"
}, - {
- "description": "Review translation",
- "issueSubTypeCode": "REVIEW_TRANSLATION"
}, - {
- "description": "MT Error",
- "issueSubTypeCode": "MT_ERROR"
}
]
}
], - "totalCount": 2
}
}
}
A string is a piece of translation. Based on the source content, strings can be parsed differently. A string is then broken down further, into one or more segments.
The Strings API allows you to directly upload strings to a Smartling project and fetch original strings or translations.
For each string in a Smartling project, there is a unique identifier created by hashing together the parsed string text, variant metadata, and in some cases, namespace. When adding strings via the Strings API, each string will be unique. If you try to create a string with identical variant metadata and string text to a string that already exists in the project, the string will be overwritten.
Uploads an array of strings to a Smartling project. A maximum of 100 strings can be created per request. A request with more than 100 items will return an error. Each string has a character limit of 10,000.
Note: You cannot authorize a string via API. Once you have created the strings, they will need to be authorized by a content owner in the Smartling Dashboard.
Smartling creates a unique hashcode for each string based on the parsed string text and any variant or namespace metadata provided. If you upload a string with the same text, variant and namespace, and therefore the same hashcode, the existng string will be overwritten. This will not change the text of the string, but may update other metadata, such as placeholder and callback values. If the string is currently inactive, overwriting it will cause it to be reactivated. Overwritten strings return "overWritten": "true"
in the response object.
Most uploads will return a 200
response indicating success. If processing the request takes longer than 60 seconds, a 202
request will be returned, including a processUid
value that can be used to check on the progress of the request.
If you set up a POST callback for the string, you can automatically receive the translation for a string as soon as it is complete. See Callbacks for more details.
projectId required | string <uuid> |
Array of objects non-empty | |
placeholderFormat | string Specifies a standard placeholder format. Accepted values are none, c, ios, python, java, yaml, qt, resx. See Placeholders in Resource Files for more detail. |
placeholderFormatCustom | string Specifies a custom placeholder with a Java Regular Expression. For example \[.+?\] would capture all values surrounded by square brackets as placeholders. See Placeholders in Resource Files for more detail. |
namespace | string Used to generate the unique hashcode for all strings in the request. If you want to have two versions of a string with the same text and variant metadata, you can keep them unique by assigning a different namespace to each string. If not provided, default value is smartling.strings-api.default.namespace. A NULL value is permitted. |
{- "strings (Required)": [
- {
- "stringText": "string",
- "variant": "string",
- "callbackUrl": "string",
- "callbackMethod": "string",
- "instruction": "string",
- "maxLength": 0,
- "format": "string"
}
], - "placeholderFormat": "string",
- "placeholderFormatCustom": "string",
- "namespace": "string"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "hashcode": "bd603147d945h3ec74d6874422ebe4e0",
- "overWritten": "true",
- "parsedStringText": "Search results for {0}:",
- "stringText": "Search results for [city]:",
- "variant": "variant value"
}
], - "processUid": "d6414f8c-4gdf-4415-9a69-f8e7902ca9ec",
- "stringCount": 1,
- "wordCount": 4
}
}
}
If an Add strings request takes longer than 60 seconds to process, a 202
response will be returned, indicating that the process of creating strings is continuing but not yet complete. This response will include a proccessUid
value which can be used to check the progress of the request.
This request can return:
"processState": "OPEN"
which indicates that the request is still continuing."processState": "CLOSED"
indicates the request has successfully completed."processState": "FAILED"
means the request could not be completed.Processes have a limited lifespan after they are complete. This request will fail if you specify an expired processUid
.
projectId required | string <uuid> |
processUid required | string <uuid> |
curl -H "Authorization: Bearer $smartlingToken" -G https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/processes/$processUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "createdDate": "string",
- "modifiedDate": "string",
- "processState": "OPEN",
- "processStatistics": {
- "errored": "string",
- "processed": "string",
- "requested": "string",
- "skipped": "string"
}, - "processUid": "string"
}
}
}
Returns source strings from Smartling. You can get strings by specifying a file you want strings for, or you can specify individual strings by hashcode.
If you do not specify at least one of these parameters (hashcodes
or fileUri
) no results will be returned.
Note: If you use this call to get strings that are not added via the Strings API, you may see differences in the response.
You may see a value for parsedStringText
but a null
value for stringText
. The stringText
records the raw input received by the Strings API, and therefore will only appear for strings uploaded via the Strings API.
If you are getting a GDN string, the original placeholder values you used will not be returned as these are not saved by Smartling. GDN strings will have placeholders in the format {0}
, {1}
, etc.
projectId required | string <uuid> |
hashcodes | Array of strings Hashcodes for each string you want to get source strings for. |
fileUri | string URI of a file you want to get strings for. |
limit | number By default, responses will be limited to 500 per request. This is also the maximum allowed value. |
offset | number Pagination setting. Default is 0. |
curl -H "Authorization: Bearer $smartlingToken" -G -d "fileUri=$smartlingFileUri" https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/source-strings
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "hashcode": "string",
- "keys": [
- {
- "fileUri": "string",
- "key": "string"
}
], - "parsedStringText": "string",
- "stringText": "string",
- "stringVariant": "string",
- "maxLength": 0,
- "stringInstructions": [
- "string"
], - "contentFileStringInstructions": [
- {
- "fileUri": "string",
- "contentFileStringInstruction": "string"
}
]
}
], - "totalCount": 0
}
}
}
Returns translated strings from Smartling. You can get translations by specifying a file you want strings for, or you can specify individual strings by hashcode.
If you do not specify at least one of these parameters (hashcodes
or fileUri
) no results will be returned.
Note: If you use this call to get strings that were not created via the Strings API, you may see differences in the response.
Only authorized and active strings will be returned. Excluded, unauthorized, and inactive strings will not be returned.
You may see a value for parsedStringText
but a null
value for stringText
. The stringText
records the raw input received by the Strings API, and therefore will only appear for strings uploaded via the Strings API.
If you are getting a GDN string, the original placeholder values you used will not be returned as these are not saved by Smartling. GDN strings will have placeholders in the format {0}
, {1}
, etc.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
hashcodes | Array of strings Hashcodes for each string you want to get translations for. |
targetLocaleId required | string Smartling ID for the language you want to get translations for. |
retrievalType | string Enum: "pending" "published" Sets the types of translations you want returned. |
fileUri | string URI of a file you want to get translations for. |
limit | number Pagination setting. By default, responses will be limited to 500 per request. This is also the maximum allowed value. |
offset | number Pagination setting. Default is 0. |
curl -H "Authorization: Bearer $smartlingToken" -G https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/translations
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "hashcode": "string",
- "keys": [
- {
- "fileUri": "string",
- "key": "string"
}
], - "parsedStringText": "string",
- "stringText": "string",
- "targetLocaleId": "string",
- "translations": [
- {
- "modifiedDate": "string",
- "pluralForm": "string",
- "translation": "string"
}
], - "stringVariant": "string",
- "workflowStepUid": "142473a4-f835-4548-8cd3-dff5018abdcb"
}
], - "totalCount": 0
}
}
}
Tags can help you manage your strings. The Tags API allows you to add/remove string tags, and search for tags in a project.
List / search tags within an account.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectIds | Array of strings <= 1000 items Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API. |
tagMask | string Search filter. Will return tags with partial match and is case insensitive. |
limit | integer [ 1 .. 1500 ] Default: 1500 The limit on the number of tags returned. |
offset | integer >= 0 Default: 0 The offset to use when searching for tags. |
{- "projectIds": [
- "12ddasds5",
- "dsde3e3f4"
], - "tagMask": "string",
- "limit": 30,
- "offset": 30
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "projectId": "123jlkj8c",
- "tag": "StringTag"
}, - {
- "projectId": "hjhjkh44f",
- "tag": "AnotherTag"
}
], - "totalCount": 2
}
}
}
List / search tags within a project.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
tagMask | string Default: "" Tag mask for search. |
limit | number [ 0 .. 100 ] Default: 100 The limit on the number of tags returned. |
offset | number >= 0 Default: 0 The offset to use when searching for tags. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/tags-api/v2/projects/$smartlingProjectId/tags
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "tag": "StringTag"
}, - {
- "tag": "AnotherTag"
}
], - "totalCount": 2
}
}
}
Retrieve all tags linked to strings.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
List of string hashcodes
stringHashcodes required | Array of strings <= 1000 items |
{- "stringHashcodes": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "tags": [
- {
- "tag": "SomeTag"
}
], - "stringHashcode": "stringHashcode"
}
], - "totalCount": 1
}
}
}
Add a list of tags to a list of strings.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
tags required | Array of strings [ 1 .. 100 ] items List of tags. Maximum length is 128 characters. |
stringHashcodes required | Array of strings <= 1000 items List of string hashcodes |
{- "tags": [
- "string"
], - "stringHashcodes": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS"
}
}
Remove a list of tags from a list of strings.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
tags required | Array of strings [ 1 .. 100 ] items List of tags. Maximum length is 128 characters. |
stringHashcodes required | Array of strings <= 1000 items List of string hashcodes |
{- "tags": [
- "string"
], - "stringHashcodes": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS"
}
}
Remove all tags from a list of strings.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
stringHashcodes required | Array of strings <= 1000 items List of string hashcodes |
{- "stringHashcodes": [
- "string"
]
}
{- "response": {
- "code": "SUCCESS"
}
}
The Vendors API is for Language Service Providers to view work that's available in Smartling.
Returns the list of jobs available for the agency.
agencyUid required | string |
curl -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" \ https://api.smartling.com/vendors-api/v2/agencies/{agencyUid}/jobs
{- "response": {
- "code": "SUCCESS",
- "data": {
- "agency": {
- "agencyName": "string",
- "agencyUid": "string"
}, - "lastUpdatedDate": "2019-08-24T14:15:22Z",
- "translationJobs": [
- {
- "account": {
- "accountName": "string",
- "accountUid": "string"
}, - "progressDetails": {
- "aggregatedPerWorkflow": {
- "workflows": [
- {
- "targetLocales": [
- null
], - "workflowName": "string",
- "workflowUid": "string"
}
]
}
}, - "project": {
- "projectId": "string",
- "projectName": "string"
}, - "translationJob": {
- "translationJobAuthorizedDate": "2019-08-24T14:15:22Z",
- "translationJobDueDate": "2019-08-24T14:15:22Z",
- "translationJobName": "string",
- "translationJobRisk": {
- "status": "AT_RISK"
}, - "translationJobUid": "string",
- "translationJobCustomFields": [
- {
- "fieldUid": "3rrwchzmjf24",
- "fieldName": "Department Name",
- "fieldValue": "Finance Dept"
}
]
}
}
]
}
}
}
The Reports API allows to request various reports available on Smartling platform and specify additional filtering criteria to narrow down data returned by the reports.
Word Count report data for the specified parameters.
startDate required | string <YYYY-MM-DD> A parameter to limit words processed on or after the |
endDate required | string <YYYY-MM-DD> A parameter to limit words processed on or before the |
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectIds | Array of strings Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API. |
jobUids | Array of strings Optional parameter to filter to the specified list of translation jobs. |
agencyUid | string Optional parameter of unique agency identifier. |
userUids | Array of strings Optional parameter to filter to the specified list of translation resources. |
targetLocaleIds | Array of strings Optional parameter to filter to the specified list of translation locale IDs. |
fields | string Optional comma-separated list of fields names to be returned by the endpoint. If this parameter is not set then the list of fields returned is defined by Both The supported list of fields names is:
|
includeTranslationResource | boolean Deprecated Default: true Optional parameter to specify whether the report should group word count by translation resource name. Deprecated, use parameter |
includeJob | boolean Deprecated Default: true Optional parameter to specify whether the report should group word count by translation job name. Deprecated, use parameter |
includeJobReferenceNumber | boolean Deprecated Default: false Optional parameter to specify whether the report should group word count by translation job and include reference number in the response. Deprecated, use parameter |
includeFuzzyMatchProfile | boolean Deprecated Default: true Optional parameter to specify whether the report should group word count by fuzzy match profile and tier. Deprecated, use parameter |
includeWorkflowStep | boolean Deprecated Default: false Optional parameter to specify whether the report should group word count by workflow step uid and name. Deprecated, use parameter |
limit | integer [ 0 .. 10000 ] Default: 10000 Maximum number of records to return in the report. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "accountName": "Test Account",
- "accountUid": "35a84f71",
- "agencyName": "Test Agency 1",
- "agencyUid": "0ed85b93",
- "fuzzyProfileName": "Default",
- "fuzzyTier": "85 - 94.9%",
- "jobName": "Translation Job 1",
- "jobUid": "f12ad8e9",
- "jobReferenceNumber": "Job reference number",
- "projectId": "ba952f4c",
- "projectName": "Test Project 1",
- "targetLocaleId": "es-ES",
- "targetLocaleName": "Spanish (Spain)",
- "translationResourceName": "Agency Translator 5",
- "translationResourceUid": "da57302e",
- "weightedWordCount": 4,
- "wordCount": 20,
- "characterCount": 101,
- "workflowStepType": "Translation",
- "workflowStepUid": "lk3gh7zr20ao",
- "workflowStepName": "Translation"
}, - {
- "accountName": "Test Account",
- "accountUid": "35a84f71",
- "agencyName": "Test Agency 2",
- "agencyUid": "4d6230e1",
- "fuzzyProfileName": "Default",
- "fuzzyTier": "85 - 94.9%",
- "jobName": "Translation Job 1",
- "jobUid": "f12ad8e9",
- "jobReferenceNumber": "Job reference number",
- "projectId": "ba952f4c",
- "projectName": "Test Project 1",
- "targetLocaleId": "es-ES",
- "targetLocale": "Spanish (Spain)",
- "translationResourceName": "Agency Editor 12",
- "translationResourceUid": "5eb90a14",
- "weightedWordCount": 20,
- "wordCount": 20,
- "characterCount": 101,
- "workflowStepType": "Edit",
- "workflowStepUid": "ac7ac1bd15bf",
- "workflowStepName": "Edit"
}
], - "resultsTruncated": false
}
}
}
Export Word Count report in CSV format.
startDate required | string <YYYY-MM-DD> A parameter to limit words processed on or after the |
endDate required | string <YYYY-MM-DD> A parameter to limit words processed on or before the |
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectIds | Array of strings Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API. |
jobUids | Array of strings Optional parameter to filter to the specified list of translation jobs. |
agencyUid | string Optional parameter of unique agency identifier. |
userUids | Array of strings Optional parameter to filter to the specified list of translation resources. |
targetLocaleIds | Array of strings Optional parameter to filter to the specified list of translation locale IDs. |
fields | string Optional comma-separated list of fields names to be returned by the endpoint. If this parameter is not set then the list of fields returned is defined by Both The supported list of fields names is:
|
includeTranslationResource | boolean Deprecated Default: true Optional parameter to specify whether the report should group word count by translation resource name. Deprecated, use parameter |
includeJob | boolean Deprecated Default: true Optional parameter to specify whether the report should group word count by translation job name. Deprecated, use parameter |
includeJobReferenceNumber | boolean Deprecated Default: false Optional parameter to specify whether the report should group word count by translation job and include reference number in the response. Deprecated, use parameter |
includeFuzzyMatchProfile | boolean Deprecated Default: true Optional parameter to specify whether the report should group word count by fuzzy match profile and tier. Deprecated, use parameter |
includeWorkflowStep | boolean Deprecated Default: false Optional parameter to specify whether the report should group word count by workflow step uid and name. Deprecated, use parameter |
Account,Project,Job Uid,Job,Translation Resource,Agency Uid,Agency, Target Language,Workflow Step,Workflow Step Uid,Workflow Step Name, Fuzzy Profile,Fuzzy Breakdown,Word Count,Weighted Words,Character Count Test Account,Test Project,f12ad8e9,Translation Job,Translator 1, Test Agency 1 Uid, Test Agency 1,Spanish (Spain),Translation,123abc456def, Translation,Default,85 - 94.9%,1,1,1
The Attachments API allows for file attachment upload, download and checking linked attachments for an entity. Attachment entities can be from three domains: strings, jobs or issues. Each entity is referenced by an entity UID. These UIDs have a specific form for each of the domains.
<jobUid>
<accountUid>-<issueUid>
or <accountUid>-<issueUid>-<commentUid>
<projectUid>:<stringHashcode>
Attachments API Usage Limitations:
Download attachment file
accountUid required | string <uuid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
type required | string Enum: "jobs" "strings" "issues" Attachment type |
attachmentUid required | string <uuid> Attachment unique identifier. |
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": [
- {
- "key": "unknown.field",
- "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
- "details": { }
}
]
}
}
List of linked attachments with entity
accountUid required | string <uuid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
type required | string Enum: "jobs" "strings" "issues" Attachment type |
entityUid required | string <uuid> Entity uid |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 2,
- "items": [
- {
- "attachmentUid": "1e2f4378324e",
- "name": "my-attachment",
- "description": "meta-for-my-attachment",
- "createdDate": "2018-03-30T12:58:22Z",
- "createdByUserUid": "5789003e276a",
- "canDelete": false
}, - {
- "attachmentUid": "198eafe96267",
- "name": "my-attachment",
- "description": "meta-for-my-attachment",
- "createdDate": "2018-03-30T12:58:22Z",
- "createdByUserUid": "5789003e276a",
- "canDelete": true
}
]
}
}
}
Upload attachment file
accountUid required | string <uuid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
type required | string Enum: "jobs" "strings" "issues" Attachment type |
file required | string <binary> The attachment file contents to upload. |
name required | string Functional name of the file uploaded. This is not a unique identifier. |
entityUids | Array of strings <= 100 items (Optional) The list of entity uids attachment will be linked with (max 100). |
description | string (Optional) Description of uploaded binary file. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "attachmentUid": "1e2f4378324e",
- "name": "my-attachment",
- "description": "meta-for-my-attachment",
- "createdDate": "2018-03-30T12:58:22Z",
- "createdByUserUid": "5789003e276a"
}
}
}
The translation quality check service is an API endpoint at which you can check the quality of your translations.
Get the quality check types that are available.
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/check-types
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 25,
- "items": [
- {
- "checkTypeCode": "LEADING_TRAILING_SPACES",
- "name": "Leading/trailing spaces",
- "description": "Check that spacing at the beginning/end of the translation is consistent with the source",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "ORIGINAL_EQUALS_TARGET",
- "name": "Original string equals target string",
- "description": "Check that original string equals target string",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "WHITESPACES",
- "name": "Spacing error",
- "description": "Check that translation does not have additional whitespace",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "SPELLCHECK",
- "name": "Spell check",
- "description": "Spellcheck for translation",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "TAG_CONSISTENCY",
- "name": "Tag consistency",
- "description": "Check that tags in the source are correctly transferred to the translation",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "TAG_ADDED",
- "name": "Tag added"
}, - {
- "checkSubTypeCode": "TAG_DELETED",
- "name": "Tag deleted"
}, - {
- "checkSubTypeCode": "SPACES_AROUND_TAGS",
- "name": "Spaces around tags"
}, - {
- "checkSubTypeCode": "TAG_ORDER_IS_CHANGED",
- "name": "Tag order changed"
}
]
}, - {
- "checkTypeCode": "TARGET_LENGTH_LIMIT",
- "name": "Target length limit",
- "description": "Check that the translation is within the length limit",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "NUMBER_CONSISTENCY",
- "name": "Number consistency",
- "description": "Check that numbers in the source are correctly transferred to the translation",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "NUMBER_ADDED",
- "name": "Number added"
}, - {
- "checkSubTypeCode": "NUMBER_DELETED",
- "name": "Number deleted"
}, - {
- "checkSubTypeCode": "NUMBER_INCORRECT_CONVERSION",
- "name": "Incorrect number format conversion"
}
]
}, - {
- "checkTypeCode": "REPEATED_WORD",
- "name": "Repeated Word",
- "description": "Check to see if a word is repeated multiple times in a translation",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "TARGET_IN_WRONG_LANGUAGE",
- "name": "Target in the wrong language",
- "description": "Check that translated string is in the target language",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "SOURCE_IN_WRONG_LANGUAGE",
- "name": "Source in the wrong language",
- "description": "Check that source string is in the source language",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "SEGMENT_COMPLETENESS",
- "name": "Segment completeness",
- "description": "Check that a translation has a similar length to the source string",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "TARGET_IS_EMPTY",
- "name": "Target is empty"
}, - {
- "checkSubTypeCode": "TARGET_IS_MUCH_SHORTER_THAN_SOURCE",
- "name": "Translation is too long compared to source"
}, - {
- "checkSubTypeCode": "TARGET_IS_MUCH_LONGER_THAN_SOURCE",
- "name": "Translation is too short compared to source"
}
]
}, - {
- "checkTypeCode": "NON_TRANSLATABLE_TEXT",
- "name": "Placeholder",
- "description": "Check that placeables in the source are correctly transferred to the translation",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "PLACEABLE_ADDED",
- "name": "Placeholder added"
}, - {
- "checkSubTypeCode": "PLACEABLE_DELETED",
- "name": "Placeholder deleted"
}, - {
- "checkSubTypeCode": "SPACES_AROUND_PLACEABLE",
- "name": "Incorrect spacing around placeholders"
}, - {
- "checkSubTypeCode": "PLACEABLE_FORMAT",
- "name": "Incorrect placeholder format"
}
]
}, - {
- "checkTypeCode": "EMOJI_CONSISTENCY",
- "name": "Emoji consistency",
- "description": "Check that emoji in the source are correctly transferred to the translation",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "EMOJI_ADDED",
- "name": "Emoji added"
}, - {
- "checkSubTypeCode": "EMOJI_DELETED",
- "name": "Emoji deleted"
}, - {
- "checkSubTypeCode": "EMOJI_PRESENT",
- "name": "Emoji present"
}
]
}, - {
- "checkTypeCode": "INSERTABLE_CONSISTENCY",
- "name": "Insertable consistency",
- "description": "Check that insertables in the source are correctly transferred to the translation",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "INSERTABLE_ADDED",
- "name": "Insertable added"
}, - {
- "checkSubTypeCode": "INSERTABLE_DELETED",
- "name": "Insertable deleted"
}
]
}, - {
- "checkTypeCode": "TARGET_SOURCE_CONSISTENCY",
- "name": "Target/Source consistency",
- "description": "Check for inconsistent translations",
- "checkSubTypes": [
- {
- "checkSubTypeCode": "SAME_SOURCE_DIFFERENT_TRANSLATIONS",
- "name": "Same source string is translated differently"
}, - {
- "checkSubTypeCode": "SAME_TRANSLATION_DIFFERENT_SOURCES",
- "name": "Same translation is used for different sources"
}
]
}, - {
- "checkTypeCode": "BLACKLISTED_TERMS",
- "name": "Blacklisted terms",
- "description": "Check for blacklisted glossary terms",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "GLOSSARY_COMPLIANCE",
- "name": "Glossary compliance",
- "description": "Check that glossary term translations are used",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "TRADEMARK_CONSISTENCY",
- "name": "Legal symbol consistency",
- "description": "Check that legal symbols in the source like trademark and copyright are used in the translation",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "GRAMMAR_CHECK",
- "name": "Grammar",
- "description": "Check for grammar errors",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "GLOBAL_CAPITALISATION_CONSISTENCY",
- "name": "Global capitalization consistency",
- "description": "If source or target is in all caps, check that capitalization matches",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "PUNCTUATION_CONSISTENCY",
- "name": "Punctuation consistency",
- "description": "Check for punctuation consistency",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "PLURALS_REPETITION",
- "name": "Plurals",
- "description": "Validate the translation of a plural source string has a unique translation for each different \"plural form\" that is required for the target language. Does not apply to languages that only require one plural form (Chinese, Japanese, etc.).",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "REGEX_CHECK",
- "name": "Custom Quality Checks",
- "description": "Custom quality checks that have been created by users. Click \"new\" button to add new ones or \"edit\" to modify existing.",
- "checkSubTypes": [ ]
}, - {
- "checkTypeCode": "OPEN_ISSUES",
- "name": "Open Issues",
- "description": "Check that strings do not have open issues",
- "checkSubTypes": [ ]
}
]
}
}
}
Get the quality check subtypes that are available.
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/check-types/$checkTypeCode/sub-types
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 3,
- "items": [
- {
- "checkSubTypeCode": "EMOJI_ADDED",
- "name": "Emoji added"
}, - {
- "checkSubTypeCode": "EMOJI_DELETED",
- "name": "Emoji deleted"
}, - {
- "checkSubTypeCode": "EMOJI_PRESENT",
- "name": "Emoji present"
}
]
}
}
}
Get severity levels of a quality check that are available.
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/severity-levels
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 4,
- "items": [
- {
- "severityLevelCode": "DISABLED",
- "name": "Disabled"
}, - {
- "severityLevelCode": "LOW",
- "name": "Low Severity"
}, - {
- "severityLevelCode": "MEDIUM",
- "name": "Medium Severity"
}, - {
- "severityLevelCode": "HIGH",
- "name": "High Severity"
}
]
}
}
}
Get Glossary compliance match methods.
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/check-types/GLOSSARY_COMPLIANCE/match-methods
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 3,
- "items": [
- {
- "matchMethodCode": "MATCH_BY_PERCENTAGE",
- "matchMethodName": "Match by percentage"
}, - {
- "matchMethodCode": "EXACT_MATCH",
- "matchMethodName": "Exact match"
}, - {
- "matchMethodCode": "LEXICAL_ANALYSIS",
- "matchMethodName": "Lexical analysis"
}
]
}
}
}
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/check-types/TRADEMARK_CONSISTENCY/trademark-types
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 4,
- "items": [
- {
- "name": "Service Mark",
- "trademarkTypeCode": "SERVICE_MARK"
}, - {
- "name": "Copyright",
- "trademarkTypeCode": "COPYRIGHT"
}, - {
- "name": "Registered",
- "trademarkTypeCode": "REGISTERED"
}, - {
- "name": "Trademark symbol",
- "trademarkTypeCode": "TRADEMARK"
}
]
}
}
}
Get custom quality check rule types that are available.
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/check-types/REGEX_CHECK/rule-types
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 3,
- "items": [
- {
- "ruleTypeCode": "FORBIDDEN",
- "name": "Forbidden Regex found in the target"
}, - {
- "ruleTypeCode": "MISSING",
- "name": "Regex missing in the target"
}, - {
- "ruleTypeCode": "COUNT_MISMATCH",
- "name": "Count of regex matches differ between source and target"
}
]
}
}
}
Get custom quality check flavors that are available.
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/dictionary/check-types/REGEX_CHECK/flavors
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 2,
- "items": [
- {
- "flavorCode": "JAVA",
- "name": "Java"
}, - {
- "flavorCode": "DOT_NET",
- "name": ".NET"
}
]
}
}
}
Get a user’s custom dictionary.
localeId required | string A valid Smartling Locale ID. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/users/current/settings/dictionaries/$smartlingLocaleId
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 0,
- "items": [
- {
- "wordUid": "23jkj23sa",
- "word": "hello",
- "createdDate": "2018-11-21T01:51:17.000Z"
}
]
}
}
}
Add a word to a user’s custom dictionary.
localeId required | string A valid Smartling Locale ID. |
word | string >= 1 |
{- "word": "universe"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "wordUid": "23jkj23sa",
- "word": "hello",
- "createdDate": "2018-11-21T01:51:17.000Z"
}
}
}
Remove a word from a user’s custom dictionary.
localeId required | string A valid Smartling Locale ID. |
wordUid required | string Word unique identifier. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/users/current/settings/dictionaries/$smartlingLocaleId/$wordUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "wordUid": "23jkj23sa",
- "word": "hello",
- "createdDate": "2018-11-21T01:51:17.000Z"
}
}
}
Get profiles.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
nameMask | string Example: nameMask=default name mask. |
limit | integer Example: limit=100 limit size. |
offset | integer Example: offset=1 offset number. |
curl -X GET -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 1,
- "items": [
- {
- "profileUid": "ce6d6b5dbc12",
- "name": "default profile",
- "createdByUserUid": "xas344dsd3",
- "modifiedByUserUid": "xas344dsd3",
- "createdDate": "2018-07-02T13:39:27Z",
- "modifiedDate": "2018-07-02T13:39:27Z"
}
]
}
}
}
Create a profile.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
name required | string profile name. |
{- "name": "default name"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "profileUid": "ce6d6b5dbc12",
- "name": "default profile",
- "createdByUserUid": "xas344dsd3",
- "modifiedByUserUid": "xas344dsd3",
- "createdDate": "2018-07-02T13:39:27Z",
- "modifiedDate": "2018-07-02T13:39:27Z"
}
}
}
Get a profile.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
curl -X GET -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "profileUid": "ce6d6b5dbc12",
- "name": "default profile",
- "createdByUserUid": "xas344dsd3",
- "modifiedByUserUid": "xas344dsd3",
- "createdDate": "2018-07-02T13:39:27Z",
- "modifiedDate": "2018-07-02T13:39:27Z"
}
}
}
Delete profile.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid
{- "code": "SUCCESS"
}
Copy a profile.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of the profile for copy creation. |
name required | string profile name. |
{- "name": "default name"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "profileUid": "ce6d6b5dbc12",
- "name": "default profile",
- "createdByUserUid": "xas344dsd3",
- "modifiedByUserUid": "xas344dsd3",
- "createdDate": "2018-07-02T13:39:27Z",
- "modifiedDate": "2018-07-02T13:39:27Z"
}
}
}
Update the profile name.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
name required | string profile name. |
{- "name": "default name"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "name": "default name"
}
}
}
Get default profile.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
curl -X GET -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/default-profile
{- "response": {
- "code": "SUCCESS",
- "data": {
- "profileUid": "ce6d6b5dbc12",
- "name": "default profile",
- "createdByUserUid": "xas344dsd3",
- "modifiedByUserUid": "xas344dsd3",
- "createdDate": "2018-07-02T13:39:27Z",
- "modifiedDate": "2018-07-02T13:39:27Z"
}
}
}
Update default profile.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
{- "profileUid": "ce6d6b5dbc12"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "profileUid": "ce6d6b5dbc12",
- "name": "default profile",
- "createdByUserUid": "xas344dsd3",
- "modifiedByUserUid": "xas344dsd3",
- "createdDate": "2018-07-02T13:39:27Z",
- "modifiedDate": "2018-07-02T13:39:27Z"
}
}
}
Get all profile settings that are available.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
curl -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 25,
- "items": [
- {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "LEADING_TRAILING_SPACES",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "ORIGINAL_EQUALS_TARGET",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "mustHaveIdenticalTags": true,
- "mustHaveIdenticalCapitalization": true
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "WHITESPACES",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "SPELLCHECK",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "skipIfWordInUserDictionary": true,
- "skipIfWordStartsWithCapitalLetter": false,
- "skipIfWordAppearsInSourceString": true,
- "skipIfWordValidInSourceLocale": false,
- "runSpellcheckForSubWords": false
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "TAG_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "TAG_ADDED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "TAG_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "TAG_ORDER_IS_CHANGED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "SPACES_AROUND_TAGS",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "HIGH",
- "checkTypeCode": "TARGET_LENGTH_LIMIT",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "NUMBER_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "NUMBER_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "NUMBER_ADDED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "NUMBER_INCORRECT_CONVERSION",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [
- {
- "groupUid": "b0dd258b05ee"
}, - {
- "groupUid": "a853df2cf8ac"
}
], - "ignoreSign": true
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "REPEATED_WORD",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "TARGET_IN_WRONG_LANGUAGE",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "minTextLengthLimit": 40
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "SOURCE_IN_WRONG_LANGUAGE",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "minTextLengthLimit": 40
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "SEGMENT_COMPLETENESS",
- "subTypes": [
- {
- "checkSubTypeCode": "TARGET_IS_MUCH_SHORTER_THAN_SOURCE",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "TARGET_IS_MUCH_LONGER_THAN_SOURCE",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "TARGET_IS_EMPTY",
- "severityLevelCode": "DISABLED"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ],
- "lowerLengthThreshold": 50,
- "upperLengthThreshold": 250,
- "minLengthThreshold": 10
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "NON_TRANSLATABLE_TEXT",
- "subTypes": [
- {
- "checkSubTypeCode": "PLACEABLE_DELETED",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "SPACES_AROUND_PLACEABLE",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "PLACEABLE_ADDED",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "PLACEABLE_FORMAT",
- "severityLevelCode": "MEDIUM"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "EMOJI_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "EMOJI_PRESENT",
- "severityLevelCode": "DISABLED"
}, - {
- "checkSubTypeCode": "EMOJI_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "EMOJI_ADDED",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ],
- "noEmojisAllowedInTarget": false
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "INSERTABLE_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "INSERTABLE_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "INSERTABLE_ADDED",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "TARGET_SOURCE_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "SAME_TRANSLATION_DIFFERENT_SOURCES",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "SAME_SOURCE_DIFFERENT_TRANSLATIONS",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ],
- "ignoreTagsAndPlaceholders": true,
- "ignoreCase": true
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "BLACKLISTED_TERMS",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "GLOSSARY_COMPLIANCE",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "matchMethod": "MATCH_BY_PERCENTAGE",
- "matchThreshold": 50,
- "sameTermCount": true
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "TRADEMARK_CONSISTENCY",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "GRAMMAR_CHECK",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "GLOBAL_CAPITALISATION_CONSISTENCY",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "PUNCTUATION_CONSISTENCY",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "PLURALS_REPETITION",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "REGEX_CHECK",
- "subTypes": [ ],
- "groups": [ ],
- "rules": [
- {
- "ruleUid": "2d83ea74c848",
- "severityLevelCode": "LOW",
- "ruleName": "ruleName1",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "description": "ruleName1 description",
- "caseInsensitive": true,
- "multiLine": false,
- "warningMessage": "test warning",
- "groups": [ ]
}, - {
- "ruleUid": "ac3069e2fd30",
- "severityLevelCode": "MEDIUM",
- "ruleName": "ruleName2",
- "ruleTypeCode": "MISSING",
- "flavorCode": "JAVA",
- "originalPattern": "@/d",
- "translationPattern": "@/d",
- "description": "ruleName2 description",
- "caseInsensitive": true,
- "multiLine": false,
- "warningMessage": "test warning",
- "groups": [ ]
}
]
}, - {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "OPEN_ISSUES",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "sourceIssuesMustBeResolved": true,
- "translationIssuesMustBeResolved": true
}
]
}
}
}
Get the settings for a single profile check type.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
curl -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/$smartlingCheckTypeCode
{- "response": {
- "code": "SUCCESS",
- "data": {
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "LOW",
- "checkTypeCode": "ORIGINAL_EQUALS_TARGET",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "mustHaveIdenticalTags": true,
- "mustHaveIdenticalCapitalization": true
}
}
}
Update profile check type settings.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | any Enum: "ORIGINAL_EQUALS_TARGET" "SPELLCHECK" "NUMBER_CONSISTENCY" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "EMOJI_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "GLOSSARY_COMPLIANCE" "OPEN_ISSUES" |
noEmojisAllowedInTarget required | boolean No emoji is allowed in target |
{- "noEmojisAllowedInTarget": false
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "noEmojisAllowedInTarget": true
}
}
}
Update the severity level for a quality check type.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
{- "severityLevelCode": "DISABLED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "severityLevelCode": "MEDIUM"
}
}
}
Update the severity level for a quality check subtype.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | any Enum: "TAG_CONSISTENCY" "NUMBER_CONSISTENCY" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" |
checkSubTypeCode required | any Enum: "EMOJI_ADDED" "EMOJI_DELETED" "EMOJI_PRESENT" "INSERTABLE_ADDED" "INSERTABLE_DELETED" "PLACEABLE_ADDED" "PLACEABLE_DELETED" "SPACES_AROUND_PLACEABLE" "PLACEABLE_FORMAT" "NUMBER_ADDED" "NUMBER_DELETED" "NUMBER_INCORRECT_CONVERSION" "TARGET_IS_EMPTY" "TARGET_IS_MUCH_SHORTER_THAN_SOURCE" "TARGET_IS_MUCH_LONGER_THAN_SOURCE" "TAG_ADDED" "TAG_DELETED" "SPACES_AROUND_TAGS" "TAG_ORDER_IS_CHANGED" "OPEN_CLOSED_TAG_ORDER_IS_CHANGED" "INVALID_TAG_NESTING" "TAG_IS_CHANGED" "SAME_SOURCE_DIFFERENT_TRANSLATIONS" "SAME_TRANSLATION_DIFFERENT_SOURCES" |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
{- "severityLevelCode": "DISABLED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "severityLevelCode": "MEDIUM"
}
}
}
Get check type groups settings.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string (checkTypeCodeEnum) Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
curl -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/$smartlingCheckTypeCode/groups
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 1,
- "items": [
- {
- "groupUid": "string",
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "LEADING_TRAILING_SPACES",
- "subTypes": [
- {
- "checkSubTypeCode": "EMOJI_ADDED",
- "name": "Emoji added",
- "severityLevelCode": "MEDIUM"
}
], - "locales": [
- {
- "targetLocaleId": "it-IT"
}
], - "ignoreSign": false
}
]
}
}
}
Create check type group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string (checkTypeCodeEnum) Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
targetLocaleIds required | Array of strings List of target locale IDs. |
{- "targetLocaleIds": [
- "ru-RU"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "groupUid": "string",
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "LEADING_TRAILING_SPACES",
- "subTypes": [
- {
- "checkSubTypeCode": "EMOJI_ADDED",
- "name": "Emoji added",
- "severityLevelCode": "MEDIUM"
}
], - "locales": [
- {
- "targetLocaleId": "it-IT"
}
], - "ignoreSign": false
}
}
}
Get a quality check type group by the group identifier.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
groupUid required | string Unique identifier of corresponding group. |
curl -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/$smartlingCheckTypeCode/groups/$smartlingGroupUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "groupUid": "string",
- "profileUid": "ce6d6b5dbc12",
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "LEADING_TRAILING_SPACES",
- "subTypes": [
- {
- "checkSubTypeCode": "EMOJI_ADDED",
- "name": "Emoji added",
- "severityLevelCode": "MEDIUM"
}
], - "locales": [
- {
- "targetLocaleId": "it-IT"
}
], - "ignoreSign": false
}
}
}
Delete a quality check type group by the group identifier.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
groupUid required | string Unique identifier of corresponding group. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/$smartlingCheckTypeCode/groups/$smartlingGroupUid
{- "code": "SUCCESS"
}
Update profile check type group settings.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | any Enum: "ORIGINAL_EQUALS_TARGET" "SPELLCHECK" "NUMBER_CONSISTENCY" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "EMOJI_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "GLOSSARY_COMPLIANCE" "OPEN_ISSUES" |
groupUid required | string Unique identifier of corresponding group. |
noEmojisAllowedInTarget required | boolean No emoji is allowed in target |
{- "noEmojisAllowedInTarget": false
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "noEmojisAllowedInTarget": true
}
}
}
Add locale to a quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
groupUid required | string Unique identifier of corresponding group. |
targetLocaleId required | string Smartling ID for the language you want to translate to. |
{- "targetLocaleId": "it-IT"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "targetLocaleId": "it-IT"
}
}
}
Delete locale from a quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
groupUid required | string Unique identifier of corresponding group. |
targetLocaleId required | string Smartling ID for the language you want to translate to. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/$smartlingCheckTypeCode/groups/$smartlingGroupUid/locales/$smartlingTargetLocaleId
{- "code": "SUCCESS"
}
Update the severity level for a quality check subtype and group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | any (checkTypeCodeOnlyWithSubtypesEnum) Enum: "TAG_CONSISTENCY" "NUMBER_CONSISTENCY" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" |
groupUid required | string Unique identifier of corresponding group. |
checkSubTypeCode required | any (checkSubtypeEnum) Enum: "EMOJI_ADDED" "EMOJI_DELETED" "EMOJI_PRESENT" "INSERTABLE_ADDED" "INSERTABLE_DELETED" "PLACEABLE_ADDED" "PLACEABLE_DELETED" "SPACES_AROUND_PLACEABLE" "PLACEABLE_FORMAT" "NUMBER_ADDED" "NUMBER_DELETED" "NUMBER_INCORRECT_CONVERSION" "TARGET_IS_EMPTY" "TARGET_IS_MUCH_SHORTER_THAN_SOURCE" "TARGET_IS_MUCH_LONGER_THAN_SOURCE" "TAG_ADDED" "TAG_DELETED" "SPACES_AROUND_TAGS" "TAG_ORDER_IS_CHANGED" "OPEN_CLOSED_TAG_ORDER_IS_CHANGED" "INVALID_TAG_NESTING" "TAG_IS_CHANGED" "SAME_SOURCE_DIFFERENT_TRANSLATIONS" "SAME_TRANSLATION_DIFFERENT_SOURCES" |
severityLevelCode required | any (severityLevelCodeEnumCopyForRequest) Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
{- "severityLevelCode": "DISABLED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "severityLevelCode": "MEDIUM"
}
}
}
Update the severity level for a quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
checkTypeCode required | string Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" Example: LEADING_TRAILING_SPACES |
groupUid required | string Unique identifier of corresponding group. |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
{- "severityLevelCode": "DISABLED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "severityLevelCode": "MEDIUM"
}
}
}
Create a custom quality check.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleName required | string Rule name |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
ruleTypeCode required | any Enum: "FORBIDDEN" "MISSING" "COUNT_MISMATCH" |
flavorCode required | any Enum: "JAVA" "DOT_NET" |
originalPattern required | string Regular expression to evaluate against the source string. |
translationPattern required | string Regular expression to evaluate against the translation. |
caseInsensitive required | boolean Enable case insensitive search |
multiLine required | boolean Enables multine search. If true then search will span newlines in a string. Users can use ^ and $ characters with special meaning for beginning of line and end of line match. |
description | string Human readable description of the role; shown in the the dashboard UI. |
warningMessage | string Human readable warning message appended to the standard message that is shown in the CAT tool when the check fails. |
{- "ruleName": "ruleName",
- "severityLevelCode": "DISABLED",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "caseInsensitive": true,
- "multiLine": true,
- "description": "rule description",
- "warningMessage": " test warning message"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "ruleUid": "ce6d6b5dbc12",
- "ruleName": "ruleName",
- "severityLevelCode": "DISABLED",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "caseInsensitive": true,
- "multiLine": true,
- "description": "rule description",
- "warningMessage": " test warning message",
- "groups": [
- {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
]
}
}
}
Get a custom quality check.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
curl -X GET -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/REGEX_CHECK/settings/rules/$smartlingCheckRuleUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "ruleUid": "ce6d6b5dbc12",
- "ruleName": "ruleName",
- "severityLevelCode": "DISABLED",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "caseInsensitive": true,
- "multiLine": true,
- "description": "rule description",
- "warningMessage": " test warning message",
- "groups": [
- {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
]
}
}
}
Update a custom quality check.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
ruleName required | string Rule name |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
ruleTypeCode required | any Enum: "FORBIDDEN" "MISSING" "COUNT_MISMATCH" |
flavorCode required | any Enum: "JAVA" "DOT_NET" |
originalPattern required | string Regular expression to evaluate against the source string. |
translationPattern required | string Regular expression to evaluate against the translation. |
caseInsensitive required | boolean Enable case insensitive search |
multiLine required | boolean Enables multine search. If true then search will span newlines in a string. Users can use ^ and $ characters with special meaning for beginning of line and end of line match. |
description | string Human readable description of the role; shown in the the dashboard UI. |
warningMessage | string Human readable warning message appended to the standard message that is shown in the CAT tool when the check fails. |
{- "ruleName": "ruleName",
- "severityLevelCode": "DISABLED",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "caseInsensitive": true,
- "multiLine": true,
- "description": "rule description",
- "warningMessage": " test warning message"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "ruleUid": "ce6d6b5dbc12",
- "ruleName": "ruleName",
- "severityLevelCode": "DISABLED",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "caseInsensitive": true,
- "multiLine": true,
- "description": "rule description",
- "warningMessage": " test warning message",
- "groups": [
- {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
]
}
}
}
Delete a custom quality check.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/REGEX_CHECK/settings/rules/$smartlingCheckRuleUid
{- "code": "SUCCESS"
}
Update severity level for custom quality check.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
{- "severityLevelCode": "DISABLED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "ruleUid": "ce6d6b5dbc12",
- "ruleName": "ruleName",
- "severityLevelCode": "DISABLED",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "caseInsensitive": true,
- "multiLine": true,
- "description": "rule description",
- "warningMessage": " test warning message",
- "groups": [
- {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
]
}
}
}
Create a custom quality check group
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
targetLocaleIds required | Array of strings List of target locale IDs. |
{- "targetLocaleIds": [
- "ru-RU"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
}
}
Get a custom quality check groups.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 1,
- "items": [
- {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
]
}
}
}
Get a custom quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
groupUid required | string Unique identifier of corresponding group. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
}
}
Delete a custom quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
groupUid required | string Unique identifier of corresponding group. |
{- "code": "SUCCESS"
}
Add locale to custom quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
groupUid required | string Unique identifier of corresponding group. |
targetLocaleId required | string Smartling ID for the language you want to translate to. |
{- "targetLocaleId": "it-IT"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
}
}
Delete locale from custom quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
groupUid required | string Unique identifier of corresponding group. |
targetLocaleId required | string Smartling ID for the language you want to translate to. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/translation-quality-api/v2/accounts/$smartlingAccountId/profiles/$smartlingProfileUid/check-types/REGEX_CHECK/settings/rules/$smartlingCheckRuleUid/groups/$smartlingCheckRuleGroupUid/locales/{targetLocaleId}
{- "code": "SUCCESS"
}
Update the severity level for custom quality check group.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
profileUid required | string Unique identifier of corresponding profile. |
ruleUid required | string Unique identifier of corresponding check rule. |
groupUid required | string Unique identifier of corresponding group. |
severityLevelCode required | any Enum: "DISABLED" "LOW" "MEDIUM" "HIGH" |
{- "severityLevelCode": "DISABLED"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "groupUid": "ce6d6b5dbc12",
- "ruleUid": "ce6d6b5dbcs2",
- "targetLocaleIds": [
- "ru-RU"
], - "severityLevelCode": "MEDIUM"
}
}
}
Get project check types settings.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
localeId required | string A valid Smartling Locale ID. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/translation-quality-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/check-types/
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 24,
- "items": [
- {
- "severityLevelCode": "LOW",
- "checkTypeCode": "LEADING_TRAILING_SPACES",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "ORIGINAL_EQUALS_TARGET",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "mustHaveIdenticalTags": true,
- "mustHaveIdenticalCapitalization": true
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "WHITESPACES",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "SPELLCHECK",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "skipIfWordInUserDictionary": true,
- "skipIfWordStartsWithCapitalLetter": false,
- "skipIfWordAppearsInSourceString": true,
- "skipIfWordValidInSourceLocale": false,
- "runSpellcheckForSubWords": false
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "TAG_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "TAG_ADDED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "TAG_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "TAG_ORDER_IS_CHANGED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "SPACES_AROUND_TAGS",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "HIGH",
- "checkTypeCode": "TARGET_LENGTH_LIMIT",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "NUMBER_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "NUMBER_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "NUMBER_ADDED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "NUMBER_INCORRECT_CONVERSION",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [
- {
- "groupUid": "b0dd258b05ee"
}, - {
- "groupUid": "a853df2cf8ac"
}
], - "ignoreSign": true
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "REPEATED_WORD",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "TARGET_IN_WRONG_LANGUAGE",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "minTextLengthLimit": 40
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "SOURCE_IN_WRONG_LANGUAGE",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "minTextLengthLimit": 40
}, - {
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "SEGMENT_COMPLETENESS",
- "subTypes": [
- {
- "checkSubTypeCode": "TARGET_IS_MUCH_SHORTER_THAN_SOURCE",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "TARGET_IS_MUCH_LONGER_THAN_SOURCE",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "TARGET_IS_EMPTY",
- "severityLevelCode": "DISABLED"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ],
- "lowerLengthThreshold": 50,
- "upperLengthThreshold": 250,
- "minLengthThreshold": 10
}, - {
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "NON_TRANSLATABLE_TEXT",
- "subTypes": [
- {
- "checkSubTypeCode": "PLACEABLE_DELETED",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "SPACES_AROUND_PLACEABLE",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "PLACEABLE_ADDED",
- "severityLevelCode": "MEDIUM"
}, - {
- "checkSubTypeCode": "PLACEABLE_FORMAT",
- "severityLevelCode": "MEDIUM"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "EMOJI_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "EMOJI_PRESENT",
- "severityLevelCode": "DISABLED"
}, - {
- "checkSubTypeCode": "EMOJI_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "EMOJI_ADDED",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ],
- "noEmojisAllowedInTarget": false
}, - {
- "response": {
- "code": "SUCCESS",
- "data": {
- "severityLevelCode": "LOW",
- "checkTypeCode": "INSERTABLE_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "INSERTABLE_DELETED",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "INSERTABLE_ADDED",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ]
}
}
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "TARGET_SOURCE_CONSISTENCY",
- "subTypes": [
- {
- "checkSubTypeCode": "SAME_TRANSLATION_DIFFERENT_SOURCES",
- "severityLevelCode": "LOW"
}, - {
- "checkSubTypeCode": "SAME_SOURCE_DIFFERENT_TRANSLATIONS",
- "severityLevelCode": "LOW"
}
], - "localeSeverityLevels": [ ],
- "groups": [ ],
- "ignoreTagsAndPlaceholders": true,
- "ignoreCase": true
}, - {
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "BLACKLISTED_TERMS",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "GLOSSARY_COMPLIANCE",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "matchMethod": "MATCH_BY_PERCENTAGE",
- "matchThreshold": 50,
- "sameTermCount": true
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "TRADEMARK_CONSISTENCY",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "GRAMMAR_CHECK",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "GLOBAL_CAPITALISATION_CONSISTENCY",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "PUNCTUATION_CONSISTENCY",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "MEDIUM",
- "checkTypeCode": "PLURALS_REPETITION",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "REGEX_CHECK",
- "subTypes": [ ],
- "groups": [ ],
- "rules": [
- {
- "ruleUid": "2d83ea74c848",
- "severityLevelCode": "LOW",
- "ruleName": "ruleName1",
- "ruleTypeCode": "FORBIDDEN",
- "flavorCode": "JAVA",
- "originalPattern": "@mail",
- "translationPattern": "@gmail",
- "description": "ruleName1 description",
- "caseInsensitive": true,
- "multiLine": false,
- "warningMessage": "test warning",
- "groups": [ ]
}
]
}, - {
- "severityLevelCode": "LOW",
- "checkTypeCode": "OPEN_ISSUES",
- "subTypes": [ ],
- "localeSeverityLevels": [ ],
- "groups": [ ],
- "sourceIssuesMustBeResolved": true,
- "translationIssuesMustBeResolved": true
}
]
}
}
}
Check string translation quality.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
targetLocaleId required | string Smartling ID for the language you want to translate to. |
sourceLocaleId | string The locale identifier for the source locale of the project. This indicates the base locale for which content should be uploaded to the project. |
skipSuggestions | boolean skip suggestions |
Array of objects | |
useDefaultSettings | boolean use default settings |
checkTypeCodes | Array of strings [ 1 .. 100 ] items Items Enum: "LEADING_TRAILING_SPACES" "ORIGINAL_EQUALS_TARGET" "WHITESPACES" "SPELLCHECK" "TAG_CONSISTENCY" "TARGET_LENGTH_LIMIT" "NUMBER_CONSISTENCY" "REPEATED_WORD" "TARGET_IN_WRONG_LANGUAGE" "SOURCE_IN_WRONG_LANGUAGE" "SEGMENT_COMPLETENESS" "NON_TRANSLATABLE_TEXT" "EMOJI_CONSISTENCY" "INSERTABLE_CONSISTENCY" "TARGET_SOURCE_CONSISTENCY" "BLACKLISTED_TERMS" "GLOSSARY_COMPLIANCE" "TRADEMARK_CONSISTENCY" "GRAMMAR_CHECK" "GLOBAL_CAPITALISATION_CONSISTENCY" "PUNCTUATION_CONSISTENCY" "PLURALS_REPETITION" "REGEX_CHECK" "OPEN_ISSUES" |
{- "targetLocaleId": "en-US",
- "sourceLocaleId": "fr-FR",
- "skipSuggestions": false,
- "strings": [
- {
- "originalString": "Bonjour ©",
- "translation": "Hello",
- "hashcode": "9091152182c69d9b72069ac1290fe2345",
- "stringUid": null,
- "pluralFormGroupUid": null,
- "pluralForm": null
}, - {
- "originalString": "Bonjour 100",
- "translation": "Hello 100",
- "hashcode": "1091152182c69d9b72069ac1290fe23999",
- "stringUid": null,
- "pluralFormGroupUid": null,
- "pluralForm": null
}
], - "useDefaultSettings": false,
- "checkTypeCodes": [
- "BLACKLISTED_TERMS",
- "EMOJI_CONSISTENCY"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "results": [
- {
- "string": {
- "originalString": "blacklist_term",
- "translation": "blacklist_term",
- "hashcode": "7191152182c69d9b72069ac1290fe24b",
- "stringUid": null,
- "pluralFormGroupUid": null,
- "pluralForm": null
}, - "mistakes": [
- {
- "checkTypeCode": "BLACKLISTED_TERMS",
- "severityLevelCode": "MEDIUM",
- "positions": [
- {
- "from": 0,
- "to": 14
}
], - "details": {
- "blacklistedTermUid": "uidgj1",
- "termText": "blacklist_term",
- "alternatives": [ ],
- "notes": ""
}, - "positionTypeCode": "TARGET"
}
]
}
]
}
}
}
During translation process, text may contain specific words, which are very important to has consistent meaning through out the resulted translation for target language. This is usually referenced as terminology, glossary, thesaurus, etc. And one of the vital steps in high-quality translation is to extract such terms (words/phrases) in a separate set, and define correct translation to be used during work process. Imagine not correctly translated medical/legal terms - or inconsistent translation for the same terms by different translators in one document.
Current section describes glossary manipulation API, such as :
Create glossary endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryName required | string Name of the glossary. Character limit is equal to 170 characters. |
description | string Description of the glossary. Character limit is equal to 250 characters. |
verificationMode | boolean Verification mode. |
localeIds | Array of strings unique Supported locale ids. |
Array of objects (FallbackLocaleCommandPTO) Fallback locales configuration. |
{- "glossaryName": "My new glossary",
- "description": "Glossary created for common terms in scope of 'my-project'",
- "verificationMode": true,
- "localeIds": [
- "uk-UA",
- "en",
- "pt",
- "pt-BR"
], - "fallbackLocales": [
- {
- "fallbackLocaleId": "en",
- "localeIds": [
- "en-US",
- "en-ES"
]
}
]
}
{- "code": "SUCCESS",
- "data": {
- "glossaryUid": "58966072-6569-4c22-930c-de906b7fb18d",
- "accountUid": "56a0b220",
- "glossaryName": "CF-enabled-glossary-V2",
- "description": "string",
- "verificationMode": true,
- "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z",
- "localeIds": [
- "en",
- "en-US",
- "hi-IN",
- "pl-PL",
- "uk-UA"
], - "fallbackLocales": [
- {
- "fallbackLocaleId": "en",
- "localeIds": [
- "en-US"
]
}
]
}
}
Read glossary endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
{- "code": "SUCCESS",
- "data": {
- "glossaryUid": "58966072-6569-4c22-930c-de906b7fb18d",
- "accountUid": "56a0b220",
- "glossaryName": "CF-enabled-glossary-V2",
- "description": "string",
- "verificationMode": true,
- "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z",
- "localeIds": [
- "en",
- "en-US",
- "hi-IN",
- "pl-PL",
- "uk-UA"
], - "fallbackLocales": [
- {
- "fallbackLocaleId": "en",
- "localeIds": [
- "en-US"
]
}
]
}
}
Update glossary endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
glossaryName required | string Name of the glossary. Character limit is equal to 170 characters. |
description | string Description of the glossary. Character limit is equal to 250 characters. |
verificationMode | boolean Verification mode. |
localeIds | Array of strings unique Supported locale ids. |
Array of objects (FallbackLocaleCommandPTO) Fallback locales configuration. |
{- "glossaryName": "My new glossary",
- "description": "Glossary created for common terms in scope of 'my-project'",
- "verificationMode": true,
- "localeIds": [
- "uk-UA",
- "en",
- "pt",
- "pt-BR"
], - "fallbackLocales": [
- {
- "fallbackLocaleId": "en",
- "localeIds": [
- "en-US",
- "en-ES"
]
}
]
}
{- "code": "SUCCESS",
- "data": {
- "glossaryUid": "58966072-6569-4c22-930c-de906b7fb18d",
- "accountUid": "56a0b220",
- "glossaryName": "CF-enabled-glossary-V2",
- "description": "string",
- "verificationMode": true,
- "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z",
- "localeIds": [
- "en",
- "en-US",
- "hi-IN",
- "pl-PL",
- "uk-UA"
], - "fallbackLocales": [
- {
- "fallbackLocaleId": "en",
- "localeIds": [
- "en-US"
]
}
]
}
}
Bulk archive glossaries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUids required | Array of strings Glossary uids fot the archive / restore operation. |
{- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d",
- "12366072-6569-4c22-930c-de906b7fb18d"
]
}
{- "code": "SUCCESS",
- "data": {
- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d"
]
}
}
Bulk unarchive/restore glossaries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUids required | Array of strings Glossary uids fot the archive / restore operation. |
{- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d",
- "12366072-6569-4c22-930c-de906b7fb18d"
]
}
{- "code": "SUCCESS",
- "data": {
- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d"
]
}
}
Search glossaries by filter endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
query | string Allow to search glossaries by query in scope of glossaryName or description properties. Also supports exact search by glossaryUid. |
glossaryState | string Enum: "ACTIVE" "ARCHIVED" "BOTH" Glossary state. |
targetLocaleId | string Filter glossaries that have passed locale - preconfigured. |
glossaryUids | Array of strings GlossaryUids filter. |
object (PaginationCommandPTO) Pagination options. | |
object (SortCommandPTO) Sorting options for the filter. | |
includeEntriesCount | boolean Allow to exclude / include glossary entries count, for each glossary that was found by the criteria. |
{- "query": "some name",
- "glossaryState": "BOTH",
- "targetLocaleId": "uk-UA",
- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d",
- "12366072-6569-4c22-930c-de906b7fb18d"
], - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "glossaryName",
- "direction": "ASC"
}, - "includeEntriesCount": true
}
{- "totalCount": 0,
- "items": [
- {
- "glossaryUid": "58966072-6569-4c22-930c-de906b7fb18d",
- "accountUid": "56a0b220",
- "glossaryName": "CF-enabled-glossary-V2",
- "description": "string",
- "verificationMode": true,
- "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z",
- "localeIds": [
- "en",
- "en-US",
- "hi-IN",
- "pl-PL",
- "uk-UA"
], - "fallbackLocales": [
- {
- "fallbackLocaleId": "en",
- "localeIds": [
- "en-US"
]
}
], - "entriesCount": 0
}
]
}
Search glossaries entries count by filter endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
query | string Allow to search glossaries by query in scope of glossaryName or description properties. Also supports exact search by glossaryUid. |
glossaryState | string Enum: "ACTIVE" "ARCHIVED" "BOTH" Glossary state. |
targetLocaleId | string Filter glossaries that have passed locale - preconfigured. |
glossaryUids | Array of strings GlossaryUids filter. |
object (PaginationCommandPTO) Pagination options. | |
object (SortCommandPTO) Sorting options for the filter. |
{- "query": "some name",
- "glossaryState": "BOTH",
- "targetLocaleId": "uk-UA",
- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d",
- "12366072-6569-4c22-930c-de906b7fb18d"
], - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "glossaryName",
- "direction": "ASC"
}
}
{- "totalCount": 0,
- "items": [
- {
- "glossaryUid": "58966072-6569-4c22-930c-de906b7fb18d",
- "entriesCount": 0,
- "blocklistsCount": 0
}
]
}
Create glossary entry endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
definition | string Glossary entry definition. Max definition length is equal to 1500 characters. |
partOfSpeech | string Enum: "Noun" "Verb" "Adjective" "Adverb" "Pronoun" "Preposition" "Interjection" "Conjunction" "Proper Noun" Glossary entry part of speech. |
labelUids | Array of strings unique Glossary label uid to be associated. |
Array of objects (GlossaryEntryTranslationCommandPTO) Glossary entry translations. Please note:
| |
Array of objects (CustomFieldValuesCommandPTO) Assigned custom field values. |
{- "definition": "string",
- "partOfSpeech": "Noun",
- "labelUids": [
- "bad90990-4be1-4570-81da-b719cddd5351",
- "bad90990-4be1-4570-81da-b719cddd5355"
], - "translations": [
- {
- "localeId": "en",
- "term": "en term",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "doNotTranslate": true,
- "disabled": true,
- "variants": [
- "en synonym to the term"
], - "customFieldValues": [
- {
- "fieldUid": "c-field_1",
- "fieldValue": "field string value short text"
}
]
}
], - "customFieldValues": [
- {
- "fieldUid": "c-field_1",
- "fieldValue": "field string value short text"
}
]
}
{- "code": "SUCCESS",
- "data": {
- "entryUid": "bac90990-4be1-4570-81da-b719cddd5352",
- "glossaryUid": "aad90990-4be1-4570-81da-b719cddd5352",
- "definition": "string",
- "partOfSpeech": "Noun",
- "labelUids": [
- "string"
], - "translations": [
- {
- "localeId": "en",
- "fallbackLocaleId": "string",
- "term": "en term",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "doNotTranslate": true,
- "disabled": true,
- "variants": [
- "en variation of the original term"
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown",
- "localeId": "string"
}
], - "requestTranslationStatus": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2"
}, - "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:00Z"
}
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown"
}
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z",
- "requestTranslationStatuses": {
- "property1": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2",
- "projectId": "b488e1b42",
- "hashCode": "7c364d1b2a22bce260027d6bc61580aa",
- "jobUid": "string"
}, - "property2": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2",
- "projectId": "b488e1b42",
- "hashCode": "7c364d1b2a22bce260027d6bc61580aa",
- "jobUid": "string"
}
}
}
}
Read glossary entry endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
entryUid required | string <uuid> Unique identifier of the glossary entry. |
{- "code": "SUCCESS",
- "data": {
- "entryUid": "bac90990-4be1-4570-81da-b719cddd5352",
- "glossaryUid": "aad90990-4be1-4570-81da-b719cddd5352",
- "definition": "string",
- "partOfSpeech": "Noun",
- "labelUids": [
- "string"
], - "translations": [
- {
- "localeId": "en",
- "fallbackLocaleId": "string",
- "term": "en term",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "doNotTranslate": true,
- "disabled": true,
- "variants": [
- "en variation of the original term"
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown",
- "localeId": "string"
}
], - "requestTranslationStatus": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2"
}, - "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:00Z"
}
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown"
}
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z",
- "requestTranslationStatuses": {
- "property1": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2",
- "projectId": "b488e1b42",
- "hashCode": "7c364d1b2a22bce260027d6bc61580aa",
- "jobUid": "string"
}, - "property2": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2",
- "projectId": "b488e1b42",
- "hashCode": "7c364d1b2a22bce260027d6bc61580aa",
- "jobUid": "string"
}
}
}
}
Update glossary entry endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
entryUid required | string <uuid> Unique identifier of the glossary entry. |
definition | string Glossary entry definition. Max definition length is equal to 1500 characters. |
partOfSpeech | string Enum: "Noun" "Verb" "Adjective" "Adverb" "Pronoun" "Preposition" "Interjection" "Conjunction" "Proper Noun" Glossary entry part of speech. |
labelUids | Array of strings unique Glossary label uid to be associated. |
Array of objects (GlossaryEntryTranslationCommandPTO) Glossary entry translations. Please note:
| |
Array of objects (CustomFieldValuesCommandPTO) Assigned custom field values. |
{- "definition": "string",
- "partOfSpeech": "Noun",
- "labelUids": [
- "bad90990-4be1-4570-81da-b719cddd5351",
- "bad90990-4be1-4570-81da-b719cddd5355"
], - "translations": [
- {
- "localeId": "en",
- "term": "en term",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "doNotTranslate": true,
- "disabled": true,
- "variants": [
- "en synonym to the term"
], - "customFieldValues": [
- {
- "fieldUid": "c-field_1",
- "fieldValue": "field string value short text"
}
]
}
], - "customFieldValues": [
- {
- "fieldUid": "c-field_1",
- "fieldValue": "field string value short text"
}
]
}
{- "code": "SUCCESS",
- "data": {
- "entryUid": "bac90990-4be1-4570-81da-b719cddd5352",
- "glossaryUid": "aad90990-4be1-4570-81da-b719cddd5352",
- "definition": "string",
- "partOfSpeech": "Noun",
- "labelUids": [
- "string"
], - "translations": [
- {
- "localeId": "en",
- "fallbackLocaleId": "string",
- "term": "en term",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "doNotTranslate": true,
- "disabled": true,
- "variants": [
- "en variation of the original term"
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown",
- "localeId": "string"
}
], - "requestTranslationStatus": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2"
}, - "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:00Z"
}
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown"
}
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z",
- "requestTranslationStatuses": {
- "property1": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2",
- "projectId": "b488e1b42",
- "hashCode": "7c364d1b2a22bce260027d6bc61580aa",
- "jobUid": "string"
}, - "property2": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2",
- "projectId": "b488e1b42",
- "hashCode": "7c364d1b2a22bce260027d6bc61580aa",
- "jobUid": "string"
}
}
}
}
Search glossary entries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
query | string Keyword search for translation of variants. |
localeIds | Array of strings Locales list for translation filtering. |
entryUids | Array of strings unique Glossary entry uids filter. |
entryState required | string Enum: "ACTIVE" "ARCHIVED" "BOTH" State of the glossary entry. ACTIVE will be used in case if omitted. |
missingTranslationLocaleId | string Additional locale id filter, which allow to find missing/empty translations. |
presentTranslationLocaleId | string Additional locale id filter, which allow to find only present translations. |
dntLocaleId | string Additional locale id filter, which allow to find only DNT-marked translations. |
returnFallbackTranslations | boolean For all translations, if they are missing, appropriate fallback locales will be used. |
object (FilterByLabelsPTO) Labels filter on glossary entry level. There are 3 subTypes :
| |
dntTermSet | boolean Return entries where dnt term is set. |
object (AuditionDateCommandPTO) Audition date-time filter. Possible values :
| |
object (AuditionDateCommandPTO) Audition date-time filter. Possible values :
| |
object (AuditorCommandPTO) Auditor user filter. | |
object (AuditorCommandPTO) Auditor user filter. | |
object (PaginationCommandPTO) Pagination options. | |
object (GlossaryEntriesSortCommandPTO) Sorting options. |
{- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}
{- "totalCount": 0,
- "items": [
- {
- "entryUid": "bac90990-4be1-4570-81da-b719cddd5352",
- "glossaryUid": "aad90990-4be1-4570-81da-b719cddd5352",
- "definition": "string",
- "partOfSpeech": "Noun",
- "labelUids": [
- "string"
], - "translations": [
- {
- "localeId": "en",
- "fallbackLocaleId": "string",
- "term": "en term",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "doNotTranslate": true,
- "disabled": true,
- "variants": [
- "en variation of the original term"
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown",
- "localeId": "string"
}
], - "requestTranslationStatus": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2"
}, - "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:00Z"
}
], - "customFieldValues": [
- {
- "fieldUid": "c_field_1",
- "fieldName": "gender",
- "fieldValue": "unknown"
}
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z",
- "requestTranslationStatuses": {
- "property1": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2"
}, - "property2": {
- "localeId": "uk-UA",
- "requestDateTime": "2022-07-20T16:11:00Z",
- "requestUserUid": "671b520051b2"
}
}
}
]
}
Archive glossary entries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
required | object (GetGlossaryEntriesByFilterCommandPTO) Glossary entries filter command. |
{- "filter": {
- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}
}
{- "code": "SUCCESS",
- "data": {
- "operationUid": "string"
}
}
Unarchive/restore glossary entries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
required | object (GetGlossaryEntriesByFilterCommandPTO) Glossary entries filter command. |
{- "filter": {
- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}
}
{- "code": "SUCCESS",
- "data": {
- "operationUid": "string"
}
}
Add labels to glossary entries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
required | object (GetGlossaryEntriesByFilterCommandPTO) Glossary entries filter command. |
labelUids required | Array of strings unique Labels identifiers. |
{- "filter": {
- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}, - "labelUids": [
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
]
}
{- "code": "SUCCESS",
- "data": {
- "operationUid": "string"
}
}
Remove labels from glossary entries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
required | object (GetGlossaryEntriesByFilterCommandPTO) Glossary entries filter command. |
labelUids required | Array of strings unique Labels identifiers. |
{- "filter": {
- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}, - "labelUids": [
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
]
}
{- "code": "SUCCESS",
- "data": {
- "operationUid": "string"
}
}
Remove glossary entries endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
required | object (GetGlossaryEntriesByFilterCommandPTO) Glossary entries filter command. |
{- "filter": {
- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}
}
{- "code": "SUCCESS",
- "data": {
- "operationUid": "string"
}
}
This request export glossary entries into file with preselected format. For now next formats are allowed:
For TBX files - 2 version-names / versions supported:
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
format required | string Enum: "CSV" "XLSX" "TBX" Export format. |
tbxVersion | string Enum: "TBXcoreStructV02" "TBXcoreStructV03" TBX version-name, required when TBX format preselected. |
required | object (GetGlossaryEntriesByFilterCommandPTO) Glossary entries filter command. |
focusLocaleId | string First locale id in the export scope. |
localeIds required | Array of strings Locales ids for the export. |
skipEntries | boolean Skip entries export if true; exports only headers ( template ). |
{- "format": "CSV",
- "tbxVersion": "TBXcoreStructV02",
- "filter": {
- "query": "P&G term",
- "localeIds": [
- "uk-UA",
- "en",
- "en-US"
], - "entryUids": [
- "16ed66cc-accc-4bb5-9822-bc84e93429f8",
- "69dae398-96c2-45f6-9f0d-91470c3464bd"
], - "entryState": "ACTIVE",
- "missingTranslationLocaleId": "uk-UA",
- "presentTranslationLocaleId": "uk-UA",
- "dntLocaleId": "uk-UA",
- "returnFallbackTranslations": false,
- "labels": {
- "type": "empty"
}, - "dntTermSet": false,
- "created": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "lastModified": {
- "level": "ANY",
- "date": "2023-02-01T11:45:00.000Z",
- "type": "after"
}, - "createdBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "lastModifiedBy": {
- "level": "ANY",
- "userIds": [
- "user1",
- "user2"
]
}, - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "DESC",
- "localeId": "uk-UA"
}
}, - "focusLocaleId": "string",
- "localeIds": [
- "string"
], - "skipEntries": true
}
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": {
- "key": "error.key",
- "message": "message that describes the error"
}
}
}
Initialize glossary import process. Upload file, and perform validation. ( No changes will be done during this method call ). In case of success glossary import will be created with 'PENDING' status.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
archiveMode | boolean In case if {@code true} passed - all entries that are not in import file will be archived. |
importFile required | string <binary> Binary file data to upload. |
importFileName required | string Name and extension of the import file. |
importFileMediaType required | string Enum: "text/csv" "text/xml" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Import file media type. One of 'text/csv | text/xml | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "glossaryImport": {
- "glossaryUid": "bad90990-4be1-4570-81da-b719cddd5352",
- "importUid": "939a4439-2ed0-4123-bc68-d188e4d664ab",
- "importStatus": "PENDING"
}, - "entryChanges": {
- "newEntries": "0,",
- "existingEntryUpdates": "1,",
- "notMatchedEntries": "1,",
- "entriesToArchive": 0
}, - "translationChanges": [
- {
- "localeId": "en-US",
- "newTranslations": 1,
- "updatedTranslations": 0,
- "translationsToRemove": 1
}
], - "warnings": [
- {
- "key": "warning.key1",
- "message": "message-1"
}, - {
- "key": "warning.key2",
- "message": "message-2"
}
]
}
}
}
Read import process status
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
importUid required | string <uuid> Example: 69dae398-96c2-45f6-9f0d-91470c3464bd Unique identifier of the glossary-import. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "glossaryUid": "bad90990-4be1-4570-81da-b719cddd5352",
- "importUid": "939a4439-2ed0-4123-bc68-d188e4d664ab",
- "importStatus": "PENDING"
}
}
}
Confirm previously created glossary import. Only imports in status : 'PENDING' may be confirmed.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
glossaryUid required | string <uuid> Unique identifier of the glossary. |
importUid required | string <uuid> Example: 69dae398-96c2-45f6-9f0d-91470c3464bd Unique identifier of the glossary-import. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -F "importFile=@$uploadFilePath;type=text/plain" -F "importFileName=$uploadFileSmartlingName" -F "importFileMediaType=$uploadFileSmartlingMediaType" "https://api.smartling.com//glossary-api/v3/accounts/$smartlingAccountUid/glossaries/$smartlingGlossaryUid/import"
{- "code": "SUCCESS",
- "data": {
- "glossaryUid": "5652278a-c8ce-4546-b424-8219294b7000",
- "importUid": "9731262a-29f1-4f95-ab1b-70e861cdf1c8",
- "importStatus": "PENDING"
}
}
Read all glossary labels endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
{- "totalCount": 0,
- "items": [
- {
- "labelUid": "e2debbe4-8be0-4552-b7b0-364c04a8a3c3",
- "labelText": "glossaryLabel1"
}
]
}
Create glossary label endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
labelText required | string Text of the label. Text max size is 50 characters. |
{- "labelText": "string"
}
{- "code": "SUCCESS",
- "data": {
- "labelUid": "e2debbe4-8be0-4552-b7b0-364c04a8a3c3",
- "labelText": "glossaryLabel1"
}
}
Update glossary label endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
labelUid required | string <uuid> Example: 69dae398-96c2-45f6-9f0d-91470c3464bd Unique label identifier. |
labelText required | string Text of the label. Text max size is 50 characters. |
{- "labelText": "string"
}
{- "code": "SUCCESS",
- "data": {
- "labelUid": "e2debbe4-8be0-4552-b7b0-364c04a8a3c3",
- "labelText": "glossaryLabel1"
}
}
Delete glossary label endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
labelUid required | string <uuid> Example: 69dae398-96c2-45f6-9f0d-91470c3464bd Unique label identifier. |
{- "response": {
- "code": "SUCCESS",
- "data": { }
}
}
Defines list of terms that should not be used during the translation process. Blocklists are tied to glossary functionality.
Current section describes blocklists manipulation API, such as :
Create blocklist endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistName required | string Name of the blocklist. Character limit is equal to 170 characters. |
description | string Description of the blocklist. Character limit is equal to 250 characters. |
glossaryUids required | Array of strings unique Associated glossary uids. |
{- "blocklistName": "My new blocklist",
- "description": "Blocklist created for common terms in scope of 'my-project'",
- "glossaryUids": [
- "b45df55c-a5ae-4eda-857d-9c4b00526bc5",
- "b45df55c-a5ae-4eda-857d-9c4b00526bc1"
]
}
{- "code": "SUCCESS",
- "data": {
- "blocklistUid": "98966072-6569-4c22-930c-de906b7fb18c",
- "accountUid": "56a0b220",
- "blocklistName": "Common-terms-to-block",
- "description": "string",
- "glossaryUids": [
- "b45df55c-a5ae-4eda-857d-9c4b00526bc5",
- "b45df55c-a5ae-4eda-857d-9c4b00526bc1"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z"
}
}
Read blocklist endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
{- "code": "SUCCESS",
- "data": {
- "blocklistUid": "98966072-6569-4c22-930c-de906b7fb18c",
- "accountUid": "56a0b220",
- "blocklistName": "Common-terms-to-block",
- "description": "string",
- "glossaryUids": [
- "b45df55c-a5ae-4eda-857d-9c4b00526bc5",
- "b45df55c-a5ae-4eda-857d-9c4b00526bc1"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z"
}
}
Update blocklist endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
blocklistName required | string Name of the blocklist. Character limit is equal to 170 characters. |
description | string Description of the blocklist. Character limit is equal to 250 characters. |
glossaryUids required | Array of strings unique Associated glossary uids. |
{- "blocklistName": "My new blocklist",
- "description": "Blocklist created for common terms in scope of 'my-project'",
- "glossaryUids": [
- "b45df55c-a5ae-4eda-857d-9c4b00526bc5",
- "b45df55c-a5ae-4eda-857d-9c4b00526bc1"
]
}
{- "code": "SUCCESS",
- "data": {
- "blocklistUid": "98966072-6569-4c22-930c-de906b7fb18c",
- "accountUid": "56a0b220",
- "blocklistName": "Common-terms-to-block",
- "description": "string",
- "glossaryUids": [
- "b45df55c-a5ae-4eda-857d-9c4b00526bc5",
- "b45df55c-a5ae-4eda-857d-9c4b00526bc1"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z"
}
}
Archive blocklist endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
{- "code": "SUCCESS"
}
Unarchive/restore blocklist endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
{- "code": "SUCCESS"
}
Search blocklists by filter endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
query | string Allow to search blocklists by query in scope of name or description property. |
blocklistState | string Enum: "ACTIVE" "ARCHIVED" "BOTH" Blocklist state. |
glossaryUids | Array of strings Associated glossaryUids filter. |
object (PaginationCommandPTO) Pagination options. | |
object (BlocklistSortCommandPTO) Sorting options for the filter. |
{- "query": "some name / description",
- "blocklistState": "BOTH",
- "glossaryUids": [
- "58966072-6569-4c22-930c-de906b7fb18d",
- "12366072-6569-4c22-930c-de906b7fb18d"
], - "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "name",
- "direction": "ASC"
}
}
{- "totalCount": 0,
- "items": [
- {
- "blocklistUid": "98966072-6569-4c22-930c-de906b7fb18c",
- "accountUid": "56a0b220",
- "blocklistName": "Common-terms-to-block",
- "description": "string",
- "glossaryUids": [
- "b45df55c-a5ae-4eda-857d-9c4b00526bc5",
- "b45df55c-a5ae-4eda-857d-9c4b00526bc1"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:19:46Z",
- "termsCount": 0,
- "associatedGlossaries": 0
}
]
}
Create blocklist term endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
term required | string Blocklist term. Max term length is equal to 250 characters. |
notes | string Blocklist term. Max notes length is equal to 1500 characters. |
caseSensitive | boolean Term caseSensitive. |
exactMatch | boolean Term exactMatch. |
variants | Array of strings Term synonyms/variations. Max length of single variation entry is 250 characters. Max amount of variations in current array is 50. |
preferredTerms | Array of strings Possible terms to be used instead of blocked. Max length of single variation entry is 250 characters. Max amount of variations in current array is 50. |
localeIds | Array of strings Associated locale identifiers. |
{- "term": "some term to be blocked",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "variants": [
- "en synonym to the term"
], - "preferredTerms": [
- "some preferred term instead of current"
], - "localeIds": [
- "uk-UA",
- "en"
]
}
{- "code": "SUCCESS",
- "data": {
- "termUid": "bac90990-4be1-4570-81da-b719cddd541#",
- "blocklistUid": "aad90990-4be1-4570-81da-b719cddd8152",
- "term": "string",
- "note": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "variants": [
- "en variation of the original term"
], - "preferredTerms": [
- "suggested term 1",
- "suggested term 2"
], - "localeIds": [
- "en",
- "uk-UA"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z"
}
}
Read blocklist term endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
termUid required | string <uuid> Unique identifier of the blocklist term. |
{- "code": "SUCCESS",
- "data": {
- "termUid": "bac90990-4be1-4570-81da-b719cddd541#",
- "blocklistUid": "aad90990-4be1-4570-81da-b719cddd8152",
- "term": "string",
- "note": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "variants": [
- "en variation of the original term"
], - "preferredTerms": [
- "suggested term 1",
- "suggested term 2"
], - "localeIds": [
- "en",
- "uk-UA"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z"
}
}
Update blocklist term endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
termUid required | string <uuid> Unique identifier of the blocklist term. |
term required | string Blocklist term. Max term length is equal to 250 characters. |
notes | string Blocklist term. Max notes length is equal to 1500 characters. |
caseSensitive | boolean Term caseSensitive. |
exactMatch | boolean Term exactMatch. |
variants | Array of strings Term synonyms/variations. Max length of single variation entry is 250 characters. Max amount of variations in current array is 50. |
preferredTerms | Array of strings Possible terms to be used instead of blocked. Max length of single variation entry is 250 characters. Max amount of variations in current array is 50. |
localeIds | Array of strings Associated locale identifiers. |
{- "term": "some term to be blocked",
- "notes": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "variants": [
- "en synonym to the term"
], - "preferredTerms": [
- "some preferred term instead of current"
], - "localeIds": [
- "uk-UA",
- "en"
]
}
{- "code": "SUCCESS",
- "data": {
- "termUid": "bac90990-4be1-4570-81da-b719cddd541#",
- "blocklistUid": "aad90990-4be1-4570-81da-b719cddd8152",
- "term": "string",
- "note": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "variants": [
- "en variation of the original term"
], - "preferredTerms": [
- "suggested term 1",
- "suggested term 2"
], - "localeIds": [
- "en",
- "uk-UA"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z"
}
}
Archive blocklist term endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
termUid required | string <uuid> Unique identifier of the blocklist term. |
{- "code": "SUCCESS"
}
Unarchive/restore blocklist term endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
termUid required | string <uuid> Unique identifier of the blocklist term. |
{- "code": "SUCCESS"
}
Search blocklist terms endpoint.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
query | string Allow to search blocklists by query in scope of name or notes property. |
termState | string Enum: "ACTIVE" "ARCHIVED" "BOTH" Blocklist term state. |
object (PaginationCommandPTO) Pagination options. | |
object (BlocklistTermSortCommandPTO) Sorting options for the filter. |
{- "query": "some name / description",
- "termState": "BOTH",
- "paging": {
- "offset": 0,
- "limit": 50
}, - "sorting": {
- "field": "term",
- "direction": "ASC"
}
}
{- "totalCount": 0,
- "items": [
- {
- "code": "SUCCESS",
- "data": {
- "termUid": "bac90990-4be1-4570-81da-b719cddd541#",
- "blocklistUid": "aad90990-4be1-4570-81da-b719cddd8152",
- "term": "string",
- "note": "string",
- "caseSensitive": true,
- "exactMatch": true,
- "variants": [
- "en variation of the original term"
], - "preferredTerms": [
- "suggested term 1",
- "suggested term 2"
], - "localeIds": [
- "en",
- "uk-UA"
], - "archived": true,
- "createdByUserUid": "671b520051b2",
- "modifiedByUserUid": "671b520051b2",
- "createdDate": "2021-07-20T13:19:46Z",
- "modifiedDate": "2021-07-20T13:22:46Z"
}
}
]
}
This request export blocklist terms into file with preselected format. For now next formats are allowed:
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
format required | string Enum: "CSV" "XLSX" Example: format=CSV Export format, one of CSV, XLSX. |
skipEntries | boolean Will export template ( headers ) only in case if - value set to true. |
{- "response": {
- "code": "VALIDATION_ERROR",
- "errors": {
- "key": "error.key",
- "message": "message that describes the error"
}
}
}
Initialize blocklist import process. Upload file, and perform validation. ( No changes will be done during this method call ). In case of success blocklist import will be created with 'PENDING' status.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
importFile required | string <binary> Binary file data to upload. |
importFileName required | string Name and extension of the import file. |
importFileMediaType required | string Enum: "text/csv" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Import file media type. One of 'text/csv | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'. |
{- "code": "SUCCESS",
- "data": {
- "blocklistImport": {
- "blocklistUid": "bad90990-4be1-4570-81da-b719cddd5352",
- "importUid": "939a4439-2ed0-4123-bc68-d188e4d664ab",
- "importStatus": "PENDING"
}, - "termChanges": [
- {
- "newTerms": 50,
- "existingTermUpdates": 100
}
]
}
}
Read import process status
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
importUid required | string <uuid> Example: 69dae398-96c2-45f6-9f0d-91470c3464bd Unique identifier of the glossary-import. |
{- "code": "SUCCESS",
- "data": {
- "blocklistUid": "bad90990-4be1-4570-81da-b719cddd5352",
- "importUid": "939a4439-2ed0-4123-bc68-d188e4d664ab",
- "importStatus": "PENDING"
}
}
Confirm previously created blocklist import. Only imports in status : 'PENDING' may be confirmed.
accountUid required | string A unique account identifier. This can be found in the Smartling Dashboard under Account Settings - API. |
blocklistUid required | string <uuid> Unique identifier of the blocklist. |
importUid required | string <uuid> Example: 69dae398-96c2-45f6-9f0d-91470c3464bd Unique identifier of the glossary-import. |
curl -X POST -H "Authorization: Bearer $smartlingToken" -F "importFile=@$uploadFilePath;type=text/csv" -F "importFileName=$uploadFileSmartlingName" -F "importFileMediaType=$uploadFileSmartlingMediaType" "https://api.smartling.com//glossary-api/v3/accounts/$smartlingAccountUid/blocklist/$smartlingBlocklistUid/import"
{- "code": "SUCCESS",
- "data": {
- "blocklistUid": "bad90990-4be1-4570-81da-b719cddd5352",
- "importUid": "939a4439-2ed0-4123-bc68-d188e4d664ab",
- "importStatus": "PENDING"
}
}
The Workflow Assignment API handles workflow step assignments for non agency users.
Checking state of workflow assignments removal process
accountUid required | string <uid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
processUid required | string <uuid> The process unique identifier. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
- "processState": "RUNNING",
- "createdDate": "2023-12-11T20:40:30Z",
- "requested": 10,
- "processed": 5
}
}
}
Create new workflow steps assignment
accountUid required | string <uid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
userUid required | string <uid> User identifier. |
roleValue | string Enum: "ROLE_TRANSLATION_RESOURCE" "ROLE_TRANSLATION_RESOURCE_MANAGER" User role name |
Array of objects (WorkflowAssignmentWorkflowStep) |
{- "roleValue": "ROLE_TRANSLATION_RESOURCE",
- "workflowStepAssignments": [
- {
- "workflowStepUid": "8312172ed60d",
- "localePairs": {
- "sourceLocaleId": "en-US",
- "targetLocaleIds": [
- "fr-FR",
- "es-ES"
]
}
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 10,
- "items": {
- "workflowStepUid": "8312172ed60d",
- "localePais": {
- "sourceLocaleId": "en-US",
- "targetLocaleIds": [
- "fr-FR",
- "es-ES"
]
}
}
}
}
}
Schedule workflow steps assignment removal and returns process uid for status check.
accountUid required | string <uid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
userUid required | string <uid> User identifier. |
Array of objects (WorkflowAssignmentWorkflowStep) |
{- "workflowStepAssignments": [
- {
- "workflowStepUid": "8312172ed60d",
- "localePairs": {
- "sourceLocaleId": "en-US",
- "targetLocaleIds": [
- "fr-FR",
- "es-ES"
]
}
}
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "processUid": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
- "processState": "RUNNING",
- "createdDate": "2023-12-11T20:40:30Z",
- "requested": 10,
- "processed": 5
}
}
}
Search for workflow step assignments within account
accountUid required | string <uid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
workflowStepUids | Array of strings [ 0 .. 1000 ] Optional workflow steps uids. |
userUid | string Optional user identifier. |
offsetToken | string Offset token for next data batch or null |
limit | integer [ 1 .. 5000 ] Size of batch for single request |
{- "workflowStepUids": [
- "8312172ed60d",
- "42121ad3df2c"
], - "userUid": "ac48ht4qy",
- "offsetToken": "d966008f-c341-4c75-a986-7e25a0135e01",
- "limit": 1000
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "offsetToken": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
- "workflowStepUserAssignments": {
- "userUid": "ac48ht4qy",
- "roleValue": "ROLE_TRANSLATION_RESOURCE",
- "agencyUid": null,
- "workflowStepAssignments": {
- "workflowStepUid": "8312172ed60d",
- "localePais": {
- "sourceLocaleId": "en-US",
- "targetLocaleIds": [
- "fr-FR",
- "es-ES"
]
}
}
}
}
}
}
Search for workflow step assignments for single user
accountUid required | string <uid> The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
userUid required | string <uid> User identifier. |
offsetToken | string Offset token for next data batch or null |
limit | integer [ 1 .. 5000 ] Size of batch for single request |
{- "offsetToken": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
- "limit": 1000
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "offsetToken": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
- "workflowStepUserAssignments": {
- "userUid": "0d1ff048f7e7",
- "roleValue": "ROLE_TRANSLATION_RESOURCE",
- "agencyUid": null,
- "workflowStepAssignments": {
- "workflowStepUid": "8312172ed60d",
- "localePais": {
- "sourceLocaleId": "en-US",
- "targetLocaleIds": [
- "fr-FR",
- "es-ES"
]
}
}
}
}
}
}
This URL is the Smartling API endpoint for receiving issue webhook setup requests.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
webhookUrl | string URL where issue webhooks should be sent. |
enabled | boolean Enable or disable issue webhooks. |
{- "enabled": "true"
}
{- "response": {
- "code": "SUCCESS",
}
}
This URL is the Smartling API endpoint for receiving issue webhook settings.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
curl -X GET -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/webhook
{- "response": {
- "code": "SUCCESS",
}
}
This URL is the Smartling API endpoint for deleting issue webhook settings.
accountUid required | string The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
curl -X DELETE -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/issues-api/v2/accounts/$smartlingAccountId/webhook
{- "response": {
- "code": "SUCCESS"
}
}
This client-side API endpoint should be configured to receive issue webhooks.
type | string Value: "issue.created" Event type code |
object |
{- "type": "issue.created",
- "data": {
- "accountUid": "MeR60Bcq3",
- "projectId": "ye7ngrakk",
- "issueUid": "60cef4fc5f05",
- "string": {
- "hashcode": "00000003ecba5dcc412ce71f046b8acb",
- "localeId": "es-ES"
}, - "resolvedByUserUid": "j8hD1LBFA3Ol",
- "reportedByUserUid": "j8hD1LBFA3Ol",
- "createdDate": "2019-10-09 15:20:11",
- "resolvedDate": "2019-10-09T15:22:16Z",
- "issueTextModifiedDate": "2019-11-09T15:22:16Z",
- "issueText": "Some text",
- "issueStateCode": "OPENED",
- "issueTypeCode": "TRANSLATION",
- "issueSubTypeCode": "POOR_TRANSLATION",
- "issueCommentsCount": 0,
- "answered": false,
- "issueSeverityLevelCode": "MEDIUM",
- "issueNumber": 1,
- "assigneeUserUid": "j8hD1LBFA3Ol",
- "reopened": false,
- "reopenedByUserUid": "j8hD1LBFA3Ol",
- "reopenedDate": "2019-10-09 15:20:11"
}
}
{- "response": {
- "code": "SUCCESS"
}
}
List fuzzy estimate reports.
projectId required | string A unique project identifier. |
translationJobUid required | string A unique translation job identifier. |
reportStatus | string Enum: "NOT_FOUND" "PENDING" "PROCESSING" "COMPLETED" "FAILED" "TIMEOUT" Status of report. |
contentCoverage | string Enum: "FULL" "PARTIAL" Specifies level of content coverage report should have. |
creatorUserUids | Array of strings Array of report creator uids. |
translationJobSchemaContents | Array of strings Items Enum: "TRANSLATION" "ALL_CONTENT" "CLAIMING" "UNAUTHORIZED" if report was generated for the job,. |
tags | Array of strings Search is done via or logic, i.e. if a report has any of the given tags, it will be returned. |
createdFrom | string Date filter for report. |
createdTo | string Date filter for report. |
limit | integer Paging parameter. The number of reports to return. |
offset | integer Paging parameter. The index of the repor to start with. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 4,
- "items": [
- {
- "reportUid": "f84491fc",
- "schemaType": "siteLocales",
- "reportType": "FUZZY",
- "schema": "{\"schema\":\"siteLocales\",\"projectId\":\"fd7244365\"}",
- "reportStatus": "PROCESSING",
- "totalStrings": 27828,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": null,
- "localeEstimates": null,
- "tags": null,
- "warnings": [
- "No rates specified for 'fr-FR' locale."
], - "errors": [
- "Report generation failed. Rates of account defined in different currencies: USD, JPY. Only one should be used per account. Please fix this and re-run estimation."
]
}, - {
- "reportUid": "0ec805d4",
- "schemaType": "job",
- "reportType": "COST",
- "schema": "{\"schema\":\"job\",\"jobUid\":\"e2f3dcac30cc\"}",
- "reportStatus": "COMPLETED",
- "totalStrings": 3200,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "EUR"
}
], - "localeEstimates": null,
- "tags": [
- "bbbbb456566"
], - "warnings": null,
- "errors": null
}, - {
- "reportUid": "702cdae5",
- "schemaType": "listView",
- "schema": "{\"schema\":\"listView\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\"],\"stringState\":\"IN_TRANSLATION\",\"stringIds\":[\"5086f27e4a123ac0e573b7d45240b674\",\"9d67960622910cb2e6ab0525fb8ec747\",\"816a4bf2e30577ea2cfcb2eec231e50e\"],\"workflowStepIds\":[\"19565\",\"120859\",\"120860\",\"19567\",\"19571\",\"19570\",\"19569\",\"57497\",\"65867\",\"57499\",\"61329\",\"67758\",\"67760\",\"109463\",\"109465\",\"136550\",\"110388\",\"136548\",\"136549\"]}",
- "reportStatus": "COMPLETED",
- "reportType": "COST",
- "totalStrings": 2,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "USD"
}
], - "localeEstimates": null,
- "tags": null,
- "warnings": null,
- "errors": null
}, - {
- "reportUid": "8532918d",
- "schemaType": "unauthorized",
- "schema": "{\"schema\":\"unauthorized\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\",\"zh-TW\",\"nl-BE\",\"pt-BR\",\"ru-RU\",\"uk-UA\",\"cy-GB\"],\"stringState\":\"AWAITING_APPROVAL\",\"stringIds\":[\"975d88fd8c9290c8356364b91f88af02\",\"33eb5a93062cb5981168533500668a49\",\"a781299a67d7bd57511a14cffce40257\",\"afdf1b5d0aa538184cd67372c0acc7c2\",\"302d3f85228cd41d2267c7505dafb9e5\"]}",
- "reportStatus": "COMPLETED",
- "reportType": "COST",
- "totalStrings": 700,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "USD"
}, - {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "EUR"
}
], - "localeEstimates": null,
- "tags": [
- "new label"
], - "warnings": null,
- "errors": null
}
]
}
}
}
Generate Fuzzy report for the Job.
projectId required | string A unique project identifier. |
translationJobUid required | string A unique translation job identifier. |
contentType | string Default: "ALL_CONTENT" Enum: "TRANSLATION" "ALL_CONTENT" "CLAIMING" "UNAUTHORIZED" |
tags | Array of strings |
{- "contentType": "TRANSLATION",
- "tags": [
- "tag1",
- "tag2"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "reportUid": "f84491fc",
- "reportType": "FUZZY",
- "reportStatus": "PENDING"
}
}
}
List cost estimate reports.
projectId required | string A unique project identifier. |
translationJobUid required | string A unique translation job identifier. |
reportStatus | string Enum: "NOT_FOUND" "PENDING" "PROCESSING" "COMPLETED" "FAILED" "TIMEOUT" Status of report. |
contentCoverage | string Enum: "FULL" "PARTIAL" Specifies level of content coverage report should have. |
creatorUserUids | Array of strings Array of report creator uids. |
translationJobSchemaContents | Array of strings Items Enum: "TRANSLATION" "ALL_CONTENT" "CLAIMING" "UNAUTHORIZED" if report was generated for the job,. |
tags | Array of strings Search is done via or logic, i.e. if a report has any of the given tags, it will be returned. |
createdFrom | string Date filter for report. |
createdTo | string Date filter for report. |
limit | integer Paging parameter. The number of reports to return. |
offset | integer Paging parameter. The index of the repor to start with. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 4,
- "items": [
- {
- "reportUid": "f84491fc",
- "schemaType": "siteLocales",
- "reportType": "FUZZY",
- "schema": "{\"schema\":\"siteLocales\",\"projectId\":\"fd7244365\"}",
- "reportStatus": "PROCESSING",
- "totalStrings": 27828,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": null,
- "localeEstimates": null,
- "tags": null,
- "warnings": [
- "No rates specified for 'fr-FR' locale."
], - "errors": [
- "Report generation failed. Rates of account defined in different currencies: USD, JPY. Only one should be used per account. Please fix this and re-run estimation."
]
}, - {
- "reportUid": "0ec805d4",
- "schemaType": "job",
- "reportType": "COST",
- "schema": "{\"schema\":\"job\",\"jobUid\":\"e2f3dcac30cc\"}",
- "reportStatus": "COMPLETED",
- "totalStrings": 3200,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "EUR"
}
], - "localeEstimates": null,
- "tags": [
- "bbbbb456566"
], - "warnings": null,
- "errors": null
}, - {
- "reportUid": "702cdae5",
- "schemaType": "listView",
- "schema": "{\"schema\":\"listView\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\"],\"stringState\":\"IN_TRANSLATION\",\"stringIds\":[\"5086f27e4a123ac0e573b7d45240b674\",\"9d67960622910cb2e6ab0525fb8ec747\",\"816a4bf2e30577ea2cfcb2eec231e50e\"],\"workflowStepIds\":[\"19565\",\"120859\",\"120860\",\"19567\",\"19571\",\"19570\",\"19569\",\"57497\",\"65867\",\"57499\",\"61329\",\"67758\",\"67760\",\"109463\",\"109465\",\"136550\",\"110388\",\"136548\",\"136549\"]}",
- "reportStatus": "COMPLETED",
- "reportType": "COST",
- "totalStrings": 2,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "USD"
}
], - "localeEstimates": null,
- "tags": null,
- "warnings": null,
- "errors": null
}, - {
- "reportUid": "8532918d",
- "schemaType": "unauthorized",
- "schema": "{\"schema\":\"unauthorized\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\",\"zh-TW\",\"nl-BE\",\"pt-BR\",\"ru-RU\",\"uk-UA\",\"cy-GB\"],\"stringState\":\"AWAITING_APPROVAL\",\"stringIds\":[\"975d88fd8c9290c8356364b91f88af02\",\"33eb5a93062cb5981168533500668a49\",\"a781299a67d7bd57511a14cffce40257\",\"afdf1b5d0aa538184cd67372c0acc7c2\",\"302d3f85228cd41d2267c7505dafb9e5\"]}",
- "reportStatus": "COMPLETED",
- "reportType": "COST",
- "totalStrings": 700,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "USD"
}, - {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "EUR"
}
], - "localeEstimates": null,
- "tags": [
- "new label"
], - "warnings": null,
- "errors": null
}
]
}
}
}
Generate Cost Estimate Report for the Job
projectId required | string A unique project identifier. |
translationJobUid required | string A unique translation job identifier. |
contentType | string Default: "ALL_CONTENT" Enum: "TRANSLATION" "ALL_CONTENT" "CLAIMING" "UNAUTHORIZED" |
tags | Array of strings |
Array of objects | |
fuzzyProfileUid | string |
{- "contentType": "TRANSLATION",
- "tags": [
- "tag1",
- "tag2"
], - "localeWorkflows": [
- {
- "targetLocaleId": "string",
- "workflowUid": "string"
}
], - "fuzzyProfileUid": "string"
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "reportUid": "f84491fc",
- "reportType": "FUZZY",
- "reportStatus": "PENDING"
}
}
}
projectId required | string A unique project identifier. |
reportUid required | string A unique report identifier. |
reportStatus | string Enum: "NOT_FOUND" "PENDING" "PROCESSING" "COMPLETED" "FAILED" "TIMEOUT" Status of report. |
reportType | string Enum: "FUZZY" "COST" Report type. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "reportUid": "f84491fc",
- "reportStatus": "PROCESSING",
- "totalStrings": 27828,
- "percentComplete": 18,
- "reportType": "FUZZY",
- "createdDate": "2016-03-21T15:00:48Z"
}
}
}
projectId required | string A unique project identifier. |
reportUid required | string A unique report identifier. |
reportStatus | string Enum: "NOT_FOUND" "PENDING" "PROCESSING" "COMPLETED" "FAILED" "TIMEOUT" Status of report. |
reportType | string Enum: "FUZZY" "COST" Report type. |
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 4,
- "items": [
- {
- "reportUid": "f84491fc",
- "schemaType": "siteLocales",
- "reportType": "FUZZY",
- "schema": "{\"schema\":\"siteLocales\",\"projectId\":\"fd7244365\"}",
- "reportStatus": "PROCESSING",
- "totalStrings": 27828,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": null,
- "localeEstimates": null,
- "tags": null,
- "warnings": [
- "No rates specified for 'fr-FR' locale."
], - "errors": [
- "Report generation failed. Rates of account defined in different currencies: USD, JPY. Only one should be used per account. Please fix this and re-run estimation."
]
}, - {
- "reportUid": "0ec805d4",
- "schemaType": "job",
- "reportType": "COST",
- "schema": "{\"schema\":\"job\",\"jobUid\":\"e2f3dcac30cc\"}",
- "reportStatus": "COMPLETED",
- "totalStrings": 3200,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "EUR"
}
], - "localeEstimates": null,
- "tags": [
- "bbbbb456566"
], - "warnings": null,
- "errors": null
}, - {
- "reportUid": "702cdae5",
- "schemaType": "listView",
- "schema": "{\"schema\":\"listView\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\"],\"stringState\":\"IN_TRANSLATION\",\"stringIds\":[\"5086f27e4a123ac0e573b7d45240b674\",\"9d67960622910cb2e6ab0525fb8ec747\",\"816a4bf2e30577ea2cfcb2eec231e50e\"],\"workflowStepIds\":[\"19565\",\"120859\",\"120860\",\"19567\",\"19571\",\"19570\",\"19569\",\"57497\",\"65867\",\"57499\",\"61329\",\"67758\",\"67760\",\"109463\",\"109465\",\"136550\",\"110388\",\"136548\",\"136549\"]}",
- "reportStatus": "COMPLETED",
- "reportType": "COST",
- "totalStrings": 2,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "USD"
}
], - "localeEstimates": null,
- "tags": null,
- "warnings": null,
- "errors": null
}, - {
- "reportUid": "8532918d",
- "schemaType": "unauthorized",
- "schema": "{\"schema\":\"unauthorized\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\",\"zh-TW\",\"nl-BE\",\"pt-BR\",\"ru-RU\",\"uk-UA\",\"cy-GB\"],\"stringState\":\"AWAITING_APPROVAL\",\"stringIds\":[\"975d88fd8c9290c8356364b91f88af02\",\"33eb5a93062cb5981168533500668a49\",\"a781299a67d7bd57511a14cffce40257\",\"afdf1b5d0aa538184cd67372c0acc7c2\",\"302d3f85228cd41d2267c7505dafb9e5\"]}",
- "reportStatus": "COMPLETED",
- "reportType": "COST",
- "totalStrings": 700,
- "projectId": "fd7244365",
- "creatorUserUid": "58870b8ee965",
- "creatorUserRole": "ROLE_ACCOUNT_OWNER",
- "contentCoverage": "FULL",
- "creatorAgencyUid": "",
- "createdDate": "2016-03-21T15:00:48Z",
- "totalWordCount": 3634,
- "totalWeightedWordCount": 3614,
- "priceInformation": [
- {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "USD"
}, - {
- "priceMin": 999.35,
- "priceMax": 1090.2,
- "currencyCode": "EUR"
}
], - "localeEstimates": null,
- "tags": [
- "new label"
], - "warnings": null,
- "errors": null
}
]
}
}
}
The new set of tags completely replaces the old ones.
projectId required | string A unique project identifier. |
reportUid required | string A unique report identifier. |
tags | Array of strings |
{- "tags": [
- "tag1",
- "tag2"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "tags": [
- "AdminJob",
- "NEWTAG1",
- "NEWTAG2"
]
}
}
}
Get list of URLs.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
domainName | string domain name |
limit | integer [ 1 .. 200 ] Default: 100 limit |
localeIds | Array of strings |
offset | integer [ 0 .. 100 ] Default: 0 offset |
object Sort result by fields | |
orderDirection | string Default: "ASC" Enum: "ASC" "DESC" Sort direction |
urlCaptureDateAfter | string <date-time> The date after which the URL was captured. |
urlCaptureDateBefore | string <date-time> The date by which the URL was captured. |
urlPath | string url |
urlPathExactMatch | boolean Should or should not apply exact match. |
{- "domainName": "my.domain.com",
- "limit": 30,
- "localeIds": [
- "ru-RU"
], - "offset": 0,
- "orderBy": [
- "DOMAIN",
- "URL_PATH"
], - "orderDirection": "ASC",
- "urlCaptureDateAfter": "2020-11-21T01:51:17Z",
- "urlCaptureDateBefore": "2020-11-21T01:51:17Z",
- "urlPath": "/home/page.htm",
- "urlPathExactMatch": false
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "created": "2015-11-21T11:51:17Z",
- "domain": {
- "name": "my.domain.com"
}, - "urlPath": "/home/page.htm",
- "webPageUid": "23dsd23md"
}
], - "totalCount": 1
}
}
}
Retrieve details of the URLs.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
webPageUids | Array of strings [ 1 .. 200 ] list of url identifiers |
{- "webPageUids": [
- "4423d44",
- "123jd44"
]
}
{- "response": {
- "code": "SUCCESS",
- "data": {
- "items": [
- {
- "details": {
- "contextUids": [
- "122ssasa323",
- "334asds3434"
], - "created": "2015-11-21T01:51:17Z",
- "stringCount": 10,
- "wordCount": 25
}, - "domain": {
- "name": "my.domain.com"
}, - "urlPath": "/home/page.htm",
- "webPageUid": "23dsd23md"
}
], - "totalCount": 1
}
}
}
Retrieve detail for the URL.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
webPageUid required | string Unique identifier of the URL |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/gdn-url-management-api/v2/projects/$smartlingProjectId/web-pages/$webPageUid
{- "response": {
- "code": "SUCCESS",
- "data": {
- "details": {
- "contextUids": [
- "122ssasa323",
- "334asds3434"
], - "created": "2015-11-21T01:51:17Z",
- "stringCount": 10,
- "wordCount": 25
}, - "domain": {
- "name": "my.domain.com"
}, - "urlPath": "/home/page.htm",
- "webPageUid": "23dsd23md"
}
}
}
Get domains for project.
projectId required | string A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API. |
curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/gdn-url-management-api/v2/projects/$smartlingProjectId/domains
{- "response": {
- "code": "SUCCESS",
- "data": {
- "totalCount": 1,
- "items": [
- {
- "name": "my.domain.com"
}
]
}
}
}