openapi: 3.0.0
info:
contact:
email: support@smartling.com
description: 'Before you begin using the Smartling APIs, we recommend going through our [Developer documentation](https://help.smartling.com/hc/en-us/categories/1260801686149).
'
termsOfService: https://www.smartling.com/legal
title: Smartling REST API Reference Account & Projects Jobs API
version: 2.0.0
x-logo:
url: smartling_logo.png
servers:
- url: https://api.smartling.com
tags:
- name: Jobs
description: 'A Smartling project (such as a mobile, web, files, or connector project)
may contain one or more
[jobs](https://help.smartling.com/hc/en-us/articles/1260805481390). 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).'
paths:
/jobs-api/v3/accounts/{accountUid}/jobs:
get:
summary: List jobs within an account
description: List / search the jobs within an account. By default, only the last 50 jobs are returned. Use the limit and offset parameters to return more than 50 jobs. Learn more.
tags:
- Jobs
operationId: getJobsByAccount
parameters:
- name: accountUid
description: A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- description: Used for searching jobs by `jobName`. Any entry is treated as a LIKE query on the name of the job.
in: query
name: jobName
required: false
schema:
type: string
- description: Used for searching jobs by `projectId`. Supports up to 500 `projectId`s.
in: query
name: projectIds
required: false
schema:
items:
type: string
type: array
- description: Used for searching jobs by their status.
in: query
name: translationJobStatus
required: false
schema:
items:
enum:
- DRAFT
- AWAITING_AUTHORIZATION
- IN_PROGRESS
- COMPLETED
- CANCELLED
- CLOSED
- DELETED
type: string
type: array
- name: withPriority
description: If set to `true`, returns jobs only with priority.
in: query
required: false
schema:
type: boolean
- description: The limit on the number of jobs returned.
in: query
name: limit
required: false
schema:
type: integer
- description: The offset to use when searching for jobs.
in: query
name: offset
required: false
schema:
type: integer
- description: The field to sort by.
in: query
name: sortBy
required: false
schema:
enum:
- createdDate
- priority
type: string
- description: The direction to sort.
in: query
name: sortDirection
required: false
schema:
enum:
- ASC
- DESC
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AccountListJobsResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
x-code-samples:
- lang: curl
source: 'curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/jobs-api/v3/accounts/$smartlingAccountId/jobs
'
/jobs-api/v3/projects/{projectId}/jobs:
get:
summary: List jobs within a project
description: List / search the jobs within a project. By default, only the last 50 jobs are returned. Use the limit and offset parameters to return more than 50 jobs. Learn more.
tags:
- Jobs
operationId: getJobsByProject
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- description: Used for searching jobs by `jobName`. Any entry is treated as a LIKE query on the name of the job.
in: query
name: jobName
required: false
schema:
type: string
- description: Used for searching jobs by `jobNumber`. Search works by exact comparison.
in: query
name: jobNumber
example: SMTL-123
required: false
schema:
type: string
- description: Used for searching jobs by `translationJobUid`. Supports up to 500 `translationJobUid`s.
in: query
name: translationJobUids
required: false
schema:
items:
type: string
type: array
- description: Used for searching jobs by their status.
in: query
name: translationJobStatus
required: false
schema:
items:
enum:
- DRAFT
- AWAITING_AUTHORIZATION
- IN_PROGRESS
- COMPLETED
- CANCELLED
- CLOSED
- DELETED
type: string
type: array
- description: The limit on the number of jobs returned.
in: query
name: limit
required: false
schema:
type: integer
- description: The offset to use when searching for jobs.
in: query
name: offset
required: false
schema:
type: integer
- description: The field to sort by.
in: query
name: sortBy
required: false
schema:
enum:
- createdDate
- dueDate
- jobName
type: string
- description: The direction to sort.
in: query
name: sortDirection
required: false
schema:
enum:
- ASC
- DESC
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListJobsResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
x-code-samples:
- lang: curl
source: 'curl -H "Authorization: Bearer $smartlingToken" https://api.smartling.com/jobs-api/v3/projects/$smartlingProjectId/jobs
'
post:
summary: Create job
description: Creates a job within Smartling.
tags:
- Jobs
operationId: addJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateJobRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ShallowJobResponse'
examples:
response:
value:
response:
code: SUCCESS
data:
translationJobUid: abc123abc
jobName: myJobName
jobNumber: SMTL-123
targetLocaleIds:
- fr-FR
callbackMethod: GET|POST
callbackUrl: https://www.callback.com/smartling/job
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
'400':
description: Validation error during job creation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- details:
field: jobName
key: null
message: There is already a job with that name. Please provide a unique name.
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
x-code-samples:
- lang: curl
source: 'curl -X POST -H "Authorization: Bearer $smartlingToken" -H "Content-Type: application/json" -d "$smartlingJobJSON" https://api.smartling.com/jobs-api/v3/projects/$smartlingProjectId/jobs
'
/jobs-api/v3/projects/{projectId}/jobs/find-jobs-by-strings:
post:
summary: Search Jobs By Hashcodes And Locales
description: '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
'
tags:
- Jobs
operationId: findJobsByStrings
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTranslationJobByLocalesAndHashcodesRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTranslationJobByLocalesAndHashcodesResponse'
examples:
response:
value:
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
'400':
description: Validation error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- key: null
message: Limit 20,000 of total elements (hashcodes * locales) has been exceeded
details: null
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/strings:
get:
summary: Get translation job strings.
description: 'This gets translation job string hashcodes with locales
'
tags:
- Jobs
operationId: getStringsForTranslationJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- in: query
name: targetLocaleId
required: false
schema:
type: string
description: Target / translation locale id.
- in: query
name: limit
required: false
schema:
type: integer
default: 1000
description: Max amount of result items.
- in: query
name: offset
required: false
schema:
type: integer
default: 0
description: Amount of items to skip.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LocaleHashcodeResponse'
examples:
response:
value:
response:
code: SUCCESS
data:
totalCount: 3
items:
- targetLocaleId: uk-UA
hashcode: hashcode1
- targetLocaleId: es
hashcode: hashcode2
- targetLocaleId: es
hashcode: hashcode1
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Job not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: Translation job is not found
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/strings/add:
post:
summary: Add strings to job
description: '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.
'
tags:
- Jobs
operationId: addStringsToJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddStringsJobRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddContentSuccessFailCountJobResponse'
examples:
response:
value:
response:
code: SUCCESS
data:
failCount: 0
successCount: 100
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
description: Validation error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- key: null
message: Invalid locales [ad]
details:
field: targetLocaleIds
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/strings/remove:
post:
summary: Remove strings from job
description: '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.
'
tags:
- Jobs
operationId: removeStringsFromJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveStringsJobRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessFailCountJobResponse'
examples:
response:
value:
response:
code: SUCCESS
data:
failCount: 0
successCount: 100
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/close:
post:
summary: Close job
description: 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.
tags:
- Jobs
operationId: closeJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NullDataJobResponse'
examples:
response:
value:
response:
code: SUCCESS
'400':
description: Validation error when closing a job
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- message: Only a job that is COMPLETE can be closed.
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/cancel:
post:
summary: Cancel job
description: '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.
'
tags:
- Jobs
operationId: cancelJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelJobRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NullDataJobResponse'
examples:
response:
value:
response:
code: SUCCESS
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
description: Validation error when cancelling a job
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- message: Job can be cancelled only in DRAFT, AWAITING_AUTHORIZATION, or IN_PROGRESS statuses
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/Error401Response'
examples:
response:
value:
response:
code: AUTHENTICATION_ERROR
errors:
- details: {}
key: invalid_token
message: Invalid token
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/authorize:
post:
summary: Authorize job
description: This authorizes all content within a job. A job can only be authorized when it has content and is in an AWAITING_AUTHORIZATION state.
tags:
- Jobs
operationId: authorizeJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizeJobRequest'
description: The payload to use when authorizing a job. If no target locales and workflows are provided, the empty body `{}` should be provided. Smartling will authorize the job for the default workflows for the given project.
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NullDataJobResponse'
examples:
response:
value:
response:
code: SUCCESS
'400':
description: Validation error when authorizing a job
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
code: VALIDATION_ERROR
errors:
- key: null
message: Job can be authorized only in AWAITING_AUTHORIZATION status(es).
details: null
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}:
get:
summary: Get details of job
description: This gets the details of a job such as job name, description, due date, and reference number.
tags:
- Jobs
operationId: getJobDetails
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedJobResponse'
examples:
response:
value:
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'
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Job not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
put:
summary: Update job
description: 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.
tags:
- Jobs
operationId: updateJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateJobRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedJobResponse'
examples:
response:
value:
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
'400':
description: Validation error on updating a job
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
code: VALIDATION_ERROR
errors:
- key: null
message: Job can be edited only in DRAFT, AWAITING_AUTHORIZATION, IN_PROGRESS or COMPLETED statuses.
details: null
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
description: Job not found error
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
delete:
summary: Delete job
description: '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.
'
tags:
- Jobs
operationId: deleteJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NullDataJobResponse'
examples:
response:
value:
response:
code: SUCCESS
'400':
description: Validation error when deleting a job
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- message: Job can be deleted only in CANCELLED status
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/Error401Response'
examples:
response:
value:
response:
code: AUTHENTICATION_ERROR
errors:
- details: {}
key: invalid_token
message: Invalid token
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/search:
post:
summary: Search for job
description: This searches for jobs based on hashcodes (string identifiers), `fileUri`s, and `translationJobUid`s. Will return max of 100 translation job list items.
tags:
- Jobs
operationId: searchForJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchJobRequest'
description: '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).'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListJobsResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}:
get:
summary: Check for an async process for job
description: This checks for an asynchronous process for a job.
tags:
- Jobs
operationId: getJobAsyncProcessStatus
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- in: path
name: processUid
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessCheckJobResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/add:
post:
summary: Add file to job
description: '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:**
- A job can contain a maximum of 5000 files.
- Content can''t be added to the job if the job doesn''t contain any locales, and the request to add a file doesn''t specify any locales.
- The file (specified by the `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.
- Any `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.
'
tags:
- Jobs
operationId: addFileToJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddFileJobRequest'
description: 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.
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AddContentSuccessFailCountJobResponse'
examples:
response:
value:
response:
code: SUCCESS
data:
failCount: 1
successCount: 1
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
description: Validation error adding file to a job
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- key: null
message: 'File not found: '
details: null
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'423':
description: The requested file is currently being processed by another operation. The file will be unlocked after the operation completes.
content:
application/json:
schema:
$ref: '#/components/schemas/JobFiledAddError423Response'
examples:
response:
value:
response:
code: VALIDATION_ERROR
errors:
- key: null
message: The file is currently being processed and will be available in a few minutes.
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/remove:
post:
summary: Remove file from job
description: '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.
'
tags:
- Jobs
operationId: removeFileFromJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveFileJobRequest'
description: The `fileUri` (unique URI of the file) that is to be removed from the job.
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessFailCountJobResponse'
examples:
response:
value:
response:
code: SUCCESS
data:
failCount: 1
successCount: 1
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Not found validation error
content:
application/json:
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/files:
get:
summary: List files within job
description: This lists all files within a job.
tags:
- Jobs
operationId: getJobFilesList
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- description: The limit on the number of files returned.
in: query
name: limit
required: false
schema:
type: integer
default: 1000
- description: The offset to use when searching for files.
in: query
name: offset
required: false
schema:
type: integer
default: 0
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListFilesResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/locales/{targetLocaleId}:
post:
summary: Add locale to job
description: '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.
'
tags:
- Jobs
operationId: addLocaleToJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- in: path
name: targetLocaleId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddLocaleJobRequest'
description: '`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.'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NullDataJobResponse'
examples:
response:
value:
response:
code: SUCCESS
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
delete:
summary: Remove locale from job
description: '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.
'
tags:
- Jobs
operationId: removeLocaleFromJob
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- in: path
name: targetLocaleId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NullDataJobResponse'
examples:
response:
value:
response:
code: SUCCESS
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncProcessJobResponse'
examples:
response:
value:
response:
code: ACCEPTED
data:
message: This process will continue asynchronously and may take up to a few minutes.
url: https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/progress:
get:
summary: Get progress of file within job
description: This shows the progress of a file within a job.
tags:
- Jobs
operationId: getJobFileProgress
parameters:
- name: projectId
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- in: query
name: fileUri
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProgressResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/progress:
get:
summary: Get progress of job
description: This gets the progress of a job.
tags:
- Jobs
operationId: getJobProgress
parameters:
- description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: projectId
required: true
schema:
type: string
- in: path
name: translationJobUid
required: true
schema:
type: string
- in: query
name: targetLocaleId
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProgressResponse'
examples:
response:
value:
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
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/locales-completion-dates:
get:
summary: Get last completion dates per locale of job
description: Returns the last completion date for any locale completed within the job.
tags:
- Jobs
operationId: getJobLastCompletionDatesPerLocale
parameters:
- description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: projectId
required: true
schema:
type: string
- description: A unique identifier for a job.
in: path
name: translationJobUid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
examples:
response:
value:
response:
code: SUCCESS
data:
items:
- completionDate: '2018-08-29T08:17:40Z'
targetLocaleId: de-DE
totalCount: 1
schema:
$ref: '#/components/schemas/ListJobLocalesCompletionDatesResponse'
description: OK
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/schedule:
get:
summary: Find schedule for translation job
description: Get all schedule items for a specific job.
tags:
- Jobs
operationId: findScheduleForTranslationJob
parameters:
- description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: projectId
required: true
schema:
type: string
- description: A unique identifier for a job.
in: path
name: translationJobUid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobSchedule'
examples:
response:
value:
response:
code: SUCCESS
data:
items:
- scheduleUid: hfphrhef8awr
targetLocaleId: de-DE
workflowStepUid: 568cd2bae16f
dueDate: '2020-11-21T01:51:17Z'
totalCount: 1
description: OK
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
post:
summary: Modify schedule items for translation job
description: 'This modifies translation job schedule for provided items
'
tags:
- Jobs
operationId: modifyScheduleItemsForTranslationJob
parameters:
- description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: projectId
required: true
schema:
type: string
- description: A unique identifier for a job.
in: path
name: translationJobUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JobScheduleEditCommand'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JobSchedule'
examples:
response:
value:
response:
code: SUCCESS
data:
items:
- scheduleUid: hfphrhef8awr
targetLocaleId: de-DE
workflowStepUid: 568cd2bae16f
dueDate: '2020-11-21T01:51:17Z'
totalCount: 1
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/projects/{projectId}/custom-fields:
get:
summary: Find custom fields for specified project
description: Returns custom fields assigned to the project. Order is the one that was specified during assignment operation.
tags:
- Jobs
operationId: getProjectCustomFields
parameters:
- description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: projectId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFields'
examples:
response:
value:
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
description: OK
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
post:
summary: Assign new custom fields to project
description: 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.
tags:
- Jobs
operationId: assignCustomFieldsToProject
parameters:
- description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: projectId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldAssignmentList'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EmptyResponse'
examples:
response:
value:
response:
code: SUCCESS
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/accounts/{accountUid}/custom-fields:
get:
summary: Find custom fields for specified account
description: Gets all custom fields for specified account.
tags:
- Jobs
operationId: getAccountCustomFields
parameters:
- description: The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: accountUid
required: true
schema:
type: string
- name: searchableOnly
description: Get only searchable custom fields.
in: query
required: false
schema:
type: boolean
- name: enabledOnly
description: Get only enabled custom fields.
in: query
required: false
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFields'
examples:
response:
value:
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
description: OK
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/Error404Response'
examples:
response:
value:
response:
code: NOT_FOUND_ERROR
errors:
- key: null
message: null
details: null
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
post:
summary: Create new custom field in account
description: Creates new custom field in account.
tags:
- Jobs
operationId: createCustomField
parameters:
- description: The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: accountUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomField'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFields'
examples:
response:
value:
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
description: OK
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
/jobs-api/v3/accounts/{accountUid}/custom-fields/{fieldUid}:
put:
summary: Update custom field in account
description: Updates custom field in account using field UID specified.
tags:
- Jobs
operationId: updateCustomField
parameters:
- description: The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.
in: path
name: accountUid
required: true
schema:
type: string
- description: A unique identifier for a custom field.
in: path
name: fieldUid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomField'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFields'
examples:
response:
value:
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
description: OK
'400':
$ref: '#/components/responses/Error400ResponseDefinition'
'401':
$ref: '#/components/responses/Error401ResponseDefinition'
'429':
$ref: '#/components/responses/Error429ResponseDefinition'
'500':
$ref: '#/components/responses/Error500ResponseDefinition'
components:
schemas:
EmptyResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
description: Always null.
type: object
type: object
CustomFieldAssignment:
type: object
properties:
fieldUid:
description: Custom field unique identifier.
example: ngahq6dgh4ed
CancelJobRequest:
description: The payload to use when cancelling a job.
properties:
reason:
description: Optional field that can be used to indicate the reason the job was cancelled.
type: string
type: object
WorkflowStepClassWordCount:
properties:
workflowStepType:
description: The type of the step.
type: string
stringCount:
description: The total number of strings within step type.
type: number
wordCount:
description: The total number of words within step type.
type: number
type: object
ProcessCheckJobResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
createdDate:
description: The UTC value of when the process was created.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
modifiedDate:
description: The UTC value of when the process was last modified.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
processState:
description: The current state of the process. Values returned are IN_PROGRESS | COMPLETED | FAILED.
type: string
processUid:
description: The unique identifier for a process.
type: string
type: object
type: object
AccountListJobsResponseItem:
properties:
createdDate:
description: The UTC value of the date the job was created.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
description:
description: The description of the job.
type: string
dueDate:
description: The UTC value of the due date for the job.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
jobName:
description: The name of the job.
type: string
jobNumber:
description: The account level unique number of the job. Consist of unique short prefix and sequence number.
example: SMTL-123
type: string
jobStatus:
description: The status of the job
example: DRAFT | AWAITING_AUTHORIZATION | IN_PROGRESS | COMPLETED | CANCELLED | CLOSED | DELETED
type: string
priority:
description: Priority order in account. Strats from 1 and can be null.
example: 2
type: integer
projectId:
description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
example: fd7244365
type: string
referenceNumber:
description: Customer specific number/identifier for the job.
example: CustomerReferenceNum1
type: string
targetLocaleIds:
description: The array of localeIds for the job.
items:
example: de-DE
type: string
type: array
translationJobUid:
description: The unique identifier of the job.
type: string
type: object
UpdateCustomField:
properties:
fieldName:
description: custom field name.
example: field-name
type: boolean
enabled:
description: is custom field enabled.
example: true
type: boolean
required:
description: is custom field required during job creation.
example: true
type: boolean
searchable:
description: can search be performed by the custom field.
example: true
type: boolean
displayToTranslators:
description: is displayed to translators.
example: true
type: boolean
options:
items:
example:
- option1
- option2
type: string
type: array
defaultValue:
description: default value for custom field.
example: default field value
type: string
description:
description: custom field description.
example: Custom field example
type: string
type: object
JobLocalesCompletionDate:
properties:
data:
properties:
completionDate:
description: The UTC value of when the locale was last completed.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
targetLocaleId:
description: The locale identidier.
example: de-DE
type: string
type: object
type: object
Error:
type: object
properties:
key:
example: general_error
type: string
message:
example: Unexpected server error
type: string
details:
example: {}
type: object
required:
- key
- message
Error401Response:
properties:
response:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- AUTHENTICATION_ERROR
- AUTHORIZATION_ERROR
type: string
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- code
- errors
type: object
required:
- response
type: object
NullDataJobResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
data:
type: object
type: object
type: object
SuccessFailCountJobResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
failCount:
description: The number of strings per locale that were not successfully processed.
type: integer
successCount:
description: The number of strings per locale that were successfully processed.
type: integer
type: object
type: object
SearchTranslationJobByLocalesAndHashcodesResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
type: object
properties:
totalCount:
description: Total count
type: number
items:
type: array
items:
properties:
translationJobUid:
description: The UID of the translationJob
format: uid
type: string
jobName:
description: Name of the translation job
type: string
dueDate:
description: The date by which the job is requested to be completed.
example: '2020-11-21T01:51:17Z'
format: date-time
type: string
hashcodesByLocale:
type: array
items:
$ref: '#/components/schemas/HashcodesByLocaleResponse'
ListFilesResponse:
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
items:
items:
$ref: '#/components/schemas/TranslationJobFile'
type: array
totalCount:
type: number
type: object
required:
- data
type: object
required:
- response
type: object
WorkflowProgressReportItemResponse:
properties:
workflowName:
description: The name of the workflow.
type: string
workflowStepSummaryReportItemList:
items:
$ref: '#/components/schemas/WorkflowStepSummaryReportItemResponse'
type: array
workflowUid:
description: The uid of the workflow.
type: string
type: object
CustomFieldBasicRequest:
type: object
properties:
fieldUid:
type: string
description: Custom field unique identifier.
example: 3rrwchzmjf24
fieldValue:
type: string
description: Custom field value.
example: Finance Dept
JobFiledAddError423Response:
properties:
response:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- VALIDATION_ERROR
type: string
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- code
- errors
type: object
required:
- response
type: object
Error404Response:
properties:
response:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- NOT_FOUND_ERROR
type: string
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- code
- errors
type: object
required:
- response
type: object
SearchTranslationJobByLocalesAndHashcodesRequest:
description: The payload to use when searching translation jobs by hashcodes and locales.
properties:
hashcodes:
description: The array of hashcodes to search a job containing given hashcodes. If empty, response will also be empty list.
items:
type: string
type: array
localeIds:
description: List of localeIds to search jobs associated with provided hashcodes and locales. If empty, search will be performed only by hashcodes.
items:
type: string
type: array
type: object
CustomFieldAssignmentList:
type: array
items:
$ref: '#/components/schemas/CustomFieldAssignment'
RemoveFileJobRequest:
description: The payload to use when removing a file from a job.
properties:
fileUri:
description: The URI of the file that is to be removed from the job.
type: string
type: object
DetailedJobResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
callbackMethod:
description: The http method (GET|POST) to use when Smartling invokes the callback URL upon job completion.
type: string
callbackUrl:
description: The callback URL to invoke when a job is completed.
type: string
createdByUserUid:
description: The userUid of whom created the job.
type: string
createdDate:
description: The UTC value of the date the job was created.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
description:
description: The description of the job.
type: string
dueDate:
description: The UTC value of the due date for the job.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
firstCompletedDate:
description: The UTC value of when the job was first completed.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
firstAuthorizedDate:
description: The UTC value of when the job was first authorized.
example: '2015-01-21T01:51:17.000Z'
format: date-time
type: string
jobName:
description: The name of the job.
type: string
jobNumber:
description: The account level unique number of the job. Consist of unique short prefix and sequence number.
example: SMTL-123
type: string
priority:
description: The account level unique integer value that shows the priority of the job compared to others.
example: 238
type: integer
referenceNumber:
description: Some text to reference job in external systems.
type: string
jobStatus:
description: The status of the job.
enum:
- DRAFT
- AWAITING_AUTHORIZATION
- IN_PROGRESS
- COMPLETED
- CANCELLED
- CLOSED
- DELETED
type: string
lastCompletedDate:
description: The UTC value of when the job was last completed.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
lastAuthorizedDate:
description: The UTC value of when the job was last authorized.
example: '2015-12-21T01:51:17.000Z'
format: date-time
type: string
modifiedByUserUid:
description: The userUid of whom last modified the job.
type: string
modifiedDate:
description: The UTC value of the date the job was modified.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
sourceFiles:
description: List of source files of the job. Limited to **300** unordered entries. To get all of the job files use [List files within job](/#operation/getJobFilesList) API
items:
$ref: '#/components/schemas/SourceFile'
type: array
targetLocaleIds:
description: The array of localeIds for the job.
items:
example: de-DE
type: string
type: array
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldBasicResponse'
translationJobUid:
description: The unique identifier created for the job.
type: string
issues:
$ref: '#/components/schemas/IssuesCount'
type: object
type: object
TranslationJobFile:
properties:
data:
properties:
uri:
description: File uri
type: string
localeIds:
description: List of locale ids
type: array
items:
type: string
fileUid:
description: File uid
type: string
type: object
type: object
IssuesCount:
properties:
sourceIssuesCount:
description: Source inssues count.
type: integer
translationIssuesCount:
description: Translation inssues count.
type: integer
type: object
LocaleHashcodeResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
type: object
properties:
totalCount:
description: Total amount of elements
type: integer
items:
type: array
items:
type: object
properties:
targetLocaleId:
type: string
description: The locale identidier.
example: de-DE
hashcode:
description: Unique identifier for the translatable.
format: hash
type: string
type: object
CreateJobRequest:
description: The payload to use when creating a job.
properties:
jobName:
description: The name of the job to create. It must be unique within the Smartling project. `jobName` is **required**.
example: This is my job name.
maxLength: 170
type: string
targetLocaleIds:
description: The array of `localeId`s to be used when creating the job. The locales specified must be valid within the Smartling project.
example:
- ru-RU
items:
type: string
type: array
description:
description: The description of the job. The description is limited to 8,000 characters.
example: This is my job description.
type: string
dueDate:
description: The date the job is requested to be completed by.
example: '2020-11-21T01:51:17Z'
format: date-time
type: string
referenceNumber:
description: Customer specific number/identifier for the job.
example: referenceNumb1
type: string
callbackUrl:
description: The URL for Smartling to invoke when the job is completed.
maxLength: 8192
example: https://myDomain.com
type: string
callbackMethod:
description: The HTTP method to call (GET|POST) when invoking the `callbackUrl`.
example: GET
type: string
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldBasicRequest'
description: Custom fields assigned to the project which job is created in. Validation on custom fields is done in scope of that request.
type: object
ProgressInfoResponse:
properties:
percentComplete:
description: The percent of group (locale/file/job) completeness, 0 - 100.
example: 52
type: number
totalWordCount:
description: The total number of words within that particular group (locale/file/job).
example: 192
type: number
type: object
AsyncAcceptedResponse:
properties:
code:
enum:
- ACCEPTED
type: string
type: object
AddFileJobRequest:
description: The payload to use when adding a file to a job.
properties:
fileUri:
description: The URI of the file that has been uploaded to Smartling. `fileUri` is required.
type: string
targetLocaleIds:
description: The array of `localeId`s that the file should be added to. If not specified, the file will be added to all locales. If specified, the file will only be added for the locales provided. If the locales were not already part of the job, then the job will be extended to contain the additional locales.
items:
type: string
type: array
type: object
UpdateJobRequest:
description: The payload to use when updating a job.
properties:
jobName:
description: The name of the job. It must be unique within the Smartling project. `jobName` is **required**.
maxLength: 170
type: string
description:
description: The description of the job.
type: string
dueDate:
description: The date by which the job is requested to be completed.
example: '2020-11-21T01:51:17Z'
format: date-time
type: string
referenceNumber:
description: Customer specific number/identifier for the job.
example: CustomerReferenceNum1
type: string
callbackUrl:
description: The URL for Smartling to invoke when the job is completed.
maxLength: 8192
example: https://myDomain.com
type: string
callbackMethod:
description: The HTTP method to call (GET|POST) when invoking the `callbackUrl`.
example: GET
type: string
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldBasicRequest'
type: object
Error500Response:
properties:
response:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- GENERAL_ERROR
- MAINTENANCE_MODE_ERROR
type: string
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- code
- errors
type: object
required:
- response
type: object
AccountListJobsResponse:
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
items:
items:
$ref: '#/components/schemas/AccountListJobsResponseItem'
type: array
totalCount:
type: number
type: object
required:
- data
type: object
required:
- response
type: object
ListJobLocalesCompletionDatesResponse:
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
items:
items:
$ref: '#/components/schemas/JobLocalesCompletionDate'
type: array
totalCount:
type: number
type: object
required:
- data
type: object
required:
- response
type: object
ShallowJobResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
callbackMethod:
description: The http method (GET|POST) to use when Smartling invokes the callback URL upon job completion.
type: string
callbackUrl:
description: The callback URL to invoke when a job is completed.
type: string
createdByUserUid:
description: The userUid of who created the job.
type: string
createdDate:
description: The UTC value of the date the job was created.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
description:
description: The description of the job.
type: string
dueDate:
description: The UTC value of the due date for the job.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
firstCompletedDate:
description: The UTC value of when the job was first completed.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
firstAuthorizedDate:
description: The UTC value of when the job was first authorized.
example: '2015-01-21T01:51:17.000Z'
format: date-time
type: string
jobName:
description: The name of the job.
type: string
jobNumber:
description: The account level unique number of the job. Consist of unique short prefix and sequence number.
example: SMTL-123
type: string
jobStatus:
description: The status of the job.
example: DRAFT | AWAITING_AUTHORIZATION | IN_PROGRESS | COMPLETED | CANCELLED | CLOSED
type: string
lastCompletedDate:
description: The UTC value of when the job was last completed.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
lastAuthorizedDate:
description: The UTC value of when the job was last authorized.
example: '2015-12-21T01:51:17.000Z'
format: date-time
type: string
modifiedByUserUid:
description: The userUid of who last modified the job.
type: string
modifiedDate:
description: The UTC value of the date the job was modified.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
targetLocaleIds:
description: The array of localeIds for the job.
items:
type: string
type: array
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldBasicResponse'
translationJobUid:
description: The unique identifier for the job.
type: string
referenceNumber:
description: Customer specific number/identifier for the job.
example: CustomerReferenceNum1
type: string
issues:
$ref: '#/components/schemas/IssuesCount'
type: object
type: object
AddContentSuccessFailCountJobResponse:
type: object
required:
- response
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
failCount:
description: The number of strings per locale that could not be added to the job. As for now the only reason of failure is that strings are already in another job.
type: integer
successCount:
description: The number of strings per locale added to the job.
type: integer
type: object
type: object
AuthorizeJobItemRequest:
description: Indicates which workflow to authorize for a given locale.
properties:
targetLocaleId:
description: The locale identifier to use when indicating the locale to authorize content for. If `targetLocaleId` is specified, then `workflowUid` is required as well. Both can be omitted, and the default workflow for that locale will be used.
type: string
workflowUid:
description: The UID of the workflow to authorize content into.
type: string
type: object
CustomFields:
properties:
data:
properties:
fieldUid:
description: custom field universal identifier.
example: ngahq6dgh4ed
format: uuid
type: string
type:
description: custom field type.
example: SHORT_TEXT | LONG_TEXT | SELECTBOX | CHECKBOX
type: string
fieldName:
description: custom field name.
example: field-name
type: boolean
enabled:
description: is custom field enabled.
example: true
type: boolean
required:
description: is custom field required during job creation.
example: true
type: boolean
searchable:
description: can search be performed by the custom field.
example: true
type: boolean
displayToTranslators:
description: is displayed to translators.
example: true
type: boolean
options:
items:
example:
- option1
- option2
type: string
type: array
defaultValue:
description: default value for custom field.
example: default field value
type: string
description:
description: custom field description.
example: Custom field example
type: string
type: object
type: object
CreateCustomField:
properties:
type:
description: custom field type.
example: SHORT_TEXT | LONG_TEXT | SELECTBOX | CHECKBOX
type: string
fieldName:
description: custom field name.
example: field-name
type: boolean
enabled:
description: is custom field enabled.
example: true
type: boolean
required:
description: is custom field required during job creation.
example: true
type: boolean
searchable:
description: can search be performed by the custom field.
example: true
type: boolean
displayToTranslators:
description: is displayed to translators.
example: true
type: boolean
options:
items:
example:
- option1
- option2
type: string
type: array
defaultValue:
description: default value for custom field.
example: default field value
type: string
description:
description: custom field description.
example: Custom field example
type: string
type: object
AuthorizeJobRequest:
properties:
localeWorkflows:
items:
$ref: '#/components/schemas/AuthorizeJobItemRequest'
type: array
type: object
ContentProgressReportItemResponse:
properties:
targetLocaleDescription:
type: string
targetLocaleId:
type: string
unuathorizedProgressReport:
$ref: '#/components/schemas/StringCountWordCountResponse'
workflowProgressReportList:
items:
$ref: '#/components/schemas/WorkflowProgressReportItemResponse'
type: array
type: object
SourceFile:
properties:
data:
properties:
name:
description: File name
type: string
uri:
description: File uri
type: string
fileUid:
description: File uid
type: string
type: object
type: object
AsyncProcessJobResponse:
allOf:
- $ref: '#/components/schemas/AsyncAcceptedResponse'
- properties:
data:
properties:
message:
description: User friendly string for the async response explaining the async action taking place.
type: string
processUid:
description: The unique identifier crated for the async process.
type: string
url:
description: The URL that a system can use to check the status of the async processing request.
type: string
type: object
type: object
HashcodesByLocaleResponse:
type: object
properties:
localeId:
description: Smartling locale identifier.
type: string
hashcodes:
description: The array of hashcodes.
items:
type: string
type: array
JobScheduleEditItemCommand:
properties:
workflowStepUid:
description: workflow step universal identifier.
format: uuid
example: 568cd2bae16f
type: string
dueDate:
description: due date in milliseconds format.
example: '2020-11-21T01:51:17Z'
format: date-time
type: string
targetLocaleId:
description: The locale identidier.
example: ru-RU
type: string
required:
- targetLocaleId
- workflowStepUid
- dueDate
type: object
ProgressResponse:
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
contentProgressReport:
items:
$ref: '#/components/schemas/ContentProgressReportItemResponse'
type: array
progress:
$ref: '#/components/schemas/ProgressInfoResponse'
summaryReport:
items:
$ref: '#/components/schemas/WorkflowStepClassWordCount'
type: array
type: object
required:
- data
type: object
required:
- response
type: object
SearchJobRequest:
description: The payload to use for searching for jobs. At least one of hashcodes, fileUris, and translationJobUids must be specified. The individual param results are AND'd together.
properties:
fileUris:
description: (Optional) The `fileUri`s (file identifiers) used to search for jobs. Any job containing the specified `fileUri` will be returned.
items:
type: string
type: array
hashcodes:
description: (Optional) The hashcodes (string identifiers) used to search for jobs. Any job containing specified hashcodes will be returned.
items:
type: string
type: array
translationJobUids:
description: (Optional) The `translationJobUid`s (translation job identifiers) used to search for jobs. Any job containing the specified `fileUri` will be returned.
items:
type: string
type: array
type: object
CustomFieldBasicResponse:
type: object
properties:
fieldUid:
type: string
description: Custom field unique identifier.
example: 3rrwchzmjf24
fieldName:
type: string
description: Custom field name.
example: Department Name
fieldValue:
type: string
description: Custom field value.
example: Finance Dept
Error400Response:
type: object
properties:
response:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- VALIDATION_ERROR
type: string
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- code
- errors
type: object
required:
- response
SuccessResponse:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- SUCCESS
type: string
required:
- code
type: object
StringCountWordCountResponse:
properties:
stringCount:
description: The total number of strings within that particular step.
type: number
wordCount:
description: The total number of words within that particular step.
type: number
type: object
Error429Response:
properties:
response:
properties:
code:
description: Indicates whether the response was successful or what error has occured.
enum:
- MAX_OPERATIONS_LIMIT_EXCEEDED
type: string
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- code
- errors
type: object
required:
- response
type: object
AddStringsJobRequest:
description: The payload to use when adding strings to a job.
properties:
hashcodes:
description: 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.
items:
type: string
maxItems: 1000
type: array
moveEnabled:
default: false
description: (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, `moveEnabled=true` can be specified, and in this case, the string will be moved into the specified job.
type: boolean
targetLocaleIds:
description: The array of `localeId`s that strings should be added to. If it's not specified, the strings will be added to all locales within that job. If it's specified, the strings will only be added for the locales provided. If the locales were not already part of the job, the job will be extended to contain the additional locales.
items:
type: string
type: array
type: object
RemoveStringsJobRequest:
description: The payload to use when removing strings from a job.
properties:
hashcodes:
description: The hashcodes (string identifiers) that should be removed from the job.
items:
example:
- ca51a04da69cf64dce022bb4f146c962
type: string
type: array
localeIds:
description: (Optional) The array of `localeId`s that the strings should be removed from. If not specified, the strings will be removed from all locales within that job.
items:
example:
- ru-RU
type: string
type: array
type: object
AddLocaleJobRequest:
description: The payload to use when add a locale to a job.
properties:
syncContent:
description: 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.
type: boolean
default: true
type: object
JobScheduleEditCommand:
description: The payload to use modifying translation job schedule.
properties:
schedules:
description: Array of translation job schedule edit items.
items:
$ref: '#/components/schemas/JobScheduleEditItemCommand'
type: array
type: object
ListJobsResponse:
properties:
response:
allOf:
- $ref: '#/components/schemas/SuccessResponse'
- properties:
data:
properties:
items:
items:
$ref: '#/components/schemas/ListJobsResponseItem'
type: array
totalCount:
type: number
type: object
required:
- data
type: object
required:
- response
type: object
WorkflowStepSummaryReportItemResponse:
properties:
stringCount:
description: The total number of strings within that particular step.
type: number
wordCount:
description: The total number of words within that particular step.
type: number
workflowStepName:
description: The name of the workflow step.
type: string
workflowStepType:
description: The type of the step.
type: string
workflowStepUid:
description: The uid of the workflow step.
type: string
type: object
ListJobsResponseItem:
properties:
createdDate:
description: The UTC value of the date the job was created.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
description:
description: The description of the job.
type: string
dueDate:
description: The UTC value of the due date for the job.
example: '2015-11-21T01:51:17.000Z'
format: date-time
type: string
jobName:
description: The name of the job.
type: string
jobNumber:
description: The account level unique number of the job. Consist of unique short prefix and sequence number.
example: SMTL-123
type: string
jobStatus:
description: The status of the job
example: DRAFT | AWAITING_AUTHORIZATION | IN_PROGRESS | COMPLETED | CANCELLED | CLOSED
type: string
targetLocaleIds:
description: The array of localeIds for the job.
items:
example: de-DE
type: string
type: array
translationJobUid:
description: The unique identifier of the job.
type: string
referenceNumber:
description: Customer specific number/identifier for the job.
example: CustomerReferenceNum1
type: string
type: object
JobSchedule:
properties:
data:
properties:
scheduleUid:
description: schedule universal identifier.
example: ngahq6dgh4ed
format: uuid
type: string
workflowStepUid:
description: workflow step universal identifier.
example: 568cd2bae16f
format: uuid
type: string
dueDate:
description: due date in milliseconds format.
example: '2020-11-21T01:51:17Z'
format: date-time
type: string
targetLocaleId:
description: The locale identidier.
example: de-DE
type: string
type: object
type: object
responses:
Error401ResponseDefinition:
description: Provided credentials are not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error401Response'
examples:
response:
value:
response:
code: AUTHENTICATION_ERROR
errors:
- details: {}
key: invalid_token
message: Invalid token
Error500ResponseDefinition:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error500Response'
Error400ResponseDefinition:
description: Provided request parameters are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error400Response'
examples:
response:
value:
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: unknown.parameter
Error429ResponseDefinition:
description: Too many simultaneous API requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error429Response'
examples:
response:
value:
response:
code: MAX_OPERATIONS_LIMIT_EXCEEDED
errors:
- key: too.many.requests
message: The limit of 10 concurrent Smartling file API operations for this project has been exceeded.
externalDocs:
description: Smartling Help Center
url: https://help.smartling.com