openapi: 3.0.3
info:
title: LILT API
description: >
LILT API Support: https://lilt.atlassian.net/servicedesk/customer/portals
The LILT API enables programmatic access to the full-range of LILT backend
services including:
* Training of and translating with interactive, adaptive machine translation
* Large-scale translation memory
* The Lexicon (a large-scale termbase)
* Programmatic control of the LILT CAT environment
* Translation memory synchronization
Requests and responses are in JSON format. The REST API only responds to
HTTPS / SSL requests.
The base url for this REST API is `https://api.lilt.com/`.
## Authentication
Requests are authenticated via API key, which requires the Business plan.
Requests are authenticated using [HTTP Basic
Auth](https://en.wikipedia.org/wiki/Basic_access_authentication). Add your
API key as both the `username` and `password`.
For development, you may also pass the API key via the `key` query
parameter. This is less secure than HTTP Basic Auth, and is not recommended
for production use.
## Quotas
Our services have a general quota of 4000 requests per minute. Should you
hit the maximum requests per minute, you will need to wait 60 seconds before
you can send another request.
version: v3.0.3
license:
name: LILT Platform Terms and Conditions
url: https://lilt.com/lilt-platform-terms-and-conditions
servers:
- url: https://api.lilt.com
security:
- BasicAuth: []
- ApiKeyAuth: []
paths:
/v2/languages:
get:
tags:
- Languages
summary: Retrieve supported languages
description: |+
Get a list of supported languages.
operationId: getLanguages
responses:
'200':
description: >-
An object listing supported languages and their corresponding
locales.
content:
application/json:
schema:
title: LanguagesResponse
type: object
properties:
source_to_target:
type: object
properties: {}
description: >-
A two-dimensional object in which the first key is an ISO
639-1 language code indicating the source, and the second
key is an ISO 639-1 language code indicating the target.
example:
en:
da: true
de: true
fr: true
...: ...
...: ...
code_to_name:
type: object
properties: {}
description: >-
An object in which the key is an ISO 639-1 language code,
and the value is the language name.
example:
aa: Afar
ab: Abkhazian
af: Afrikaans
...: ...
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/memories:
get:
tags:
- Memories
summary: Retrieve a Memory
description: >+
Retrieve a Memory. If you cannot access the Memory (401 error) please
check permissions (e.g. in case you created the Memory via the web app
with a different account you may have to explicitly share that Memory).
operationId: getMemory
parameters:
- name: id
in: query
description: An optional Memory identifier.
schema:
type: integer
responses:
'200':
description: A list of Memory objects.
content:
application/json:
schema:
title: MemoryResponse
type: array
items:
$ref: '#/components/schemas/Memory'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
description: Memory not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
tags:
- Memories
summary: Update the name of a Memory
description: |
Update a Memory.
operationId: updateMemory
requestBody:
description: The Memory resource to update.
content:
application/json:
schema:
title: MemoryUpdateParameters
required:
- id
- name
type: object
properties:
id:
type: integer
description: A unique Memory identifier.
example: 7246
name:
type: string
description: The Memory name.
example: Automotive Memory
required: true
responses:
'200':
description: A Memory object.
content:
application/json:
schema:
$ref: '#/components/schemas/Memory'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
post:
tags:
- Memories
summary: Create a Memory
description: |+
Create a new Memory. A Memory is a container that collects source/target
sentences for a specific language pair (e.g., English>French). The data
in the Memory is used to train the MT system, populate the TM, and
update the lexicon. Memories are private to your account - the data is
not shared across users - unless you explicitly share a Memory with your
team (via web app only).
Refer
to our KB for a more detailed description.
operationId: createMemory
requestBody:
description: The Memory resource to create.
content:
application/json:
schema:
title: MemoryCreateParameters
required:
- name
- srclang
- trglang
type: object
properties:
name:
type: string
description: A name for the Memory.
example: automotive
srclang:
type: string
description: An ISO 639-1 language identifier.
example: en
trglang:
type: string
description: An ISO 639-1 language identifier.
example: fr
srclocale:
type: string
description: An ISO 3166-1 region name for language locales
example: US
trglocale:
type: string
description: An ISO 3166-1 region name for language locales
example: FR
required: true
responses:
'200':
description: A Memory object.
content:
application/json:
schema:
$ref: '#/components/schemas/Memory'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
delete:
tags:
- Memories
summary: Delete a Memory
description: |
Delete a Memory.
operationId: deleteMemory
parameters:
- name: id
in: query
description: A unique Memory identifier.
required: true
schema:
type: integer
responses:
'200':
description: A status object.
content:
application/json:
schema:
title: MemoryDeleteResponse
type: object
properties:
id:
type: integer
description: A unique Memory identifier.
example: 46530
deleted:
type: boolean
description: >-
If the operation succeeded, then `true`. Otherwise,
`false`.
example: true
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/memories/query:
get:
tags:
- Memories
summary: Query a Memory
description: |
Perform a translation memory query.
operationId: queryMemory
parameters:
- name: id
in: query
description: A unique Memory identifier.
required: true
schema:
type: integer
- name: query
in: query
description: A source query.
required: true
schema:
type: string
- name: 'n'
in: query
description: Maximum number of results to return.
schema:
type: integer
default: 10
responses:
'200':
description: A list of TranslationMemoryEntry objects.
content:
application/json:
schema:
title: MemoryQueryResponse
type: array
items:
$ref: '#/components/schemas/TranslationMemoryEntry'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/memories/import:
post:
tags:
- Memories
summary: File import for a Memory
description: >+
Imports common translation memory or termbase file formats to a specific
LILT memory. Currently supported file formats are `*.tmx`, `*.sdltm`,
`*.sdlxliff`(With custom Filters), '*.xliff', and `*.tmq` for TM data;
`*.csv` and `*.tbx` for termbase data. Request parameters should be
passed as JSON object with the header field `LILT-API`.
Example CURL command to upload a translation memory file named
`my_memory.sdltm` in the current working directory:
```bash
curl -X POST https://api.lilt.com/v2/memories/import?key=API_KEY \
--header "LILT-API: {\"name\": \"my_memory.sdltm\",\"memory_id\": 42}" \
--header "Content-Type: application/octet-stream" \
--data-binary @my_memory.sdltm
```
Example CURL command to upload a translation memory file named
`my_memory.sdlxliff` in the current working directory, with Custom
Filters based on SDLXLIFF fields, conf_name which maps to, percentage,
and whether we should ignore unlocked segments.
```bash
curl -X POST https://api.lilt.com/v2/memories/import?key=API_KEY \
--header "LILT-API: {\"name\": \"my_memory.sdlxliff\",\"memory_id\": 12,\"sdlxliff_filters\":[{\"conf_name\": \"Translated\", \"percentage\": 100, \"allow_unlocked\": false}]"}" \
--header "Content-Type: application/octet-stream" \
--data-binary @my_memory.sdlxliff
```
operationId: importMemoryFile
parameters:
- name: memory_id
in: header
description: A unique Memory identifier.
required: true
schema:
type: integer
- name: name
in: header
description: Name of the TM or termbase file.
required: true
schema:
type: string
- name: sdlxliff_filters
in: header
description: Contains Filter information Unique to SDLXLIFF
style: simple
explode: false
schema:
type: array
items:
$ref: '#/components/schemas/SDLXLIFFFilter'
- name: has_header_row
in: header
description: >-
A flag indicating whether an imported Termbase CSV has a header row
or not (the default value is `false`).
schema:
type: boolean
- name: skip_duplicates
in: header
description: |
A flag indicating whether or not to skip the import of segments
which already exist in the memory. (the default value is `false`).
schema:
type: boolean
requestBody:
description: >-
The file contents to be uploaded. The entire POST body will be treated
as the file.
content:
application/octet-stream:
schema:
title: MemoryImportBody
type: string
format: binary
required: true
responses:
'200':
description: A status object.
content:
application/json:
schema:
title: MemoryImportResponse
type: object
properties:
id:
type: integer
description: A unique Memory identifier.
example: 123
isProcessing:
type: integer
description: The current state of the import.
example: 1
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
/v2/memories/termbase/export:
post:
tags:
- Memories
summary: Termbase export for a Memory
description: |
Exports the termbase entries for the given memory into a CSV file.
Calling this endpoint will begin the export process in the background.
Check that the processing is complete by polling the `GET /2/memories`
endpoint. When the `is_processing` value is 0 then call the
`POST /2/memories/termbase/download` endpoint.
```bash
curl -X POST https://api.lilt.com/v2/memories/termbase/export?key=API_KEY&id=ID
```
operationId: exportTermbase
parameters:
- name: id
in: query
description: A unique Memory identifier.
required: true
schema:
type: integer
responses:
'200':
description: A status object.
content:
application/json:
schema:
title: TermbaseExportResponse
type: object
properties:
id:
type: integer
description: A unique Memory identifier.
example: 123
is_processing:
type: integer
description: The current state of the import.
example: 1
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/memories/termbase/download:
get:
tags:
- Memories
summary: Termbase download for a Memory
description: |
Downloads the termbase export for the given memory as a CSV file.
Ensure you first call the `/2/memories/termbase/export` endpoint to
start the export process before you try to download it.
```bash
curl -X GET https://api.lilt.com/v2/memories/termbase/download?key=API_KEY&id=ID
```
operationId: downloadTermbase
parameters:
- name: id
in: query
description: A unique Memory identifier.
required: true
schema:
type: integer
responses:
'200':
description: A file.
content:
application/json:
schema:
title: TermbaseDownloadResponse
type: string
format: byte
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/memories/segment:
delete:
tags:
- Memories
summary: Delete a segment from a memory.
description: |
Delete a segment from a memory.
```bash
curl -X DELETE https://api.lilt.com/v2/memories/segment?key=API_KEY&id=ID&segment_id=$SEGMENT_ID
```
operationId: deleteSegmentFromMemory
parameters:
- name: id
in: query
description: A unique Memory identifier.
required: true
schema:
type: integer
- name: segment_id
in: query
description: A unique Segment identifier.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: A success resposne.
content:
application/json:
schema:
title: DeleteSegmentFromMemoryResponse
type: object
properties:
success:
type: boolean
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/segments:
post:
description: >+
Create a Segment and add it to a Memory or a Document. A Segment is a
source/target
pair that is used to train the machine translation system and populate
the translation memory.
The maximum source length is 5,000 characters.
operationId: createSegment
requestBody:
description: >
The Segment resource to create.
To add a Segment to a Memory, include the `memory_id` and `target`
parameters.
To add a Segment to a Document, include the `document_id` and the
`source` parameters.
The `target` parameter is optional.
required: true
content:
application/json:
schema:
title: SegmentCreateParameters
type: object
properties:
memory_id:
description: A unique Memory identifier.
type: integer
example: 10641
document_id:
description: A unique Document identifier.
type: integer
example: 1876
source:
description: The source string.
type: string
example: Code zur Fehleranalyse einschalten
target:
description: The target string.
type: string
example: Enable debugging code
shouldApplySegmentation:
description: >-
A flag for whether this segment should be broken down into
smaller segments. If this is true then the response is an
array of segments.
type: boolean
srcLang:
description: >-
A two letter language code for the source language. Required
if `shouldApplySegmentation` is enabled.
type: string
example: fr
required:
- source
responses:
'200':
description: A Segment object.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
summary: Create a Segment
tags:
- Segments
get:
description: |+
Retrieve a Segment.
operationId: getSegment
parameters:
- description: A unique Segment identifier.
in: query
name: id
required: true
schema:
type: integer
- description: Include comments in the response.
in: query
name: include_comments
schema:
type: boolean
default: false
required: false
responses:
'200':
description: A Segment object.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
summary: Retrieve a Segment
tags:
- Segments
put:
description: >+
Update a Segment in memory. The Memory will be updated with the new
target string.
operationId: updateSegment
requestBody:
description: The Segment resource to update.
content:
application/json:
schema:
title: SegmentUpdateParameters
type: object
properties:
id:
description: A unique Segment identifier.
type: integer
example: 84480010
target:
description: The target string.
type: string
example: Enable debug code
required:
- id
- target
required: true
responses:
'200':
description: A Segment object.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
summary: Update a Segment
tags:
- Segments
delete:
description: >
Delete a Segment from memory. This will not delete a segment from a
document.
operationId: deleteSegment
parameters:
- description: A unique Segment identifier.
in: query
name: id
required: true
schema:
type: integer
responses:
'200':
description: A status object.
content:
application/json:
schema:
title: SegmentDeleteResponse
type: object
properties:
id:
description: A unique Segment identifier.
type: integer
example: 46530
deleted:
description: >-
If the operation succeeded, then `true`. Otherwise,
`false`.
type: boolean
example: true
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
summary: Delete a Segment
tags:
- Segments
/v2/segments/review/unlock:
post:
description: >
Unaccept and unlock segments.
Sets individual segments' "Review Done" to false. Confirmed segments
will remain confirmed.
Example curl:
```
curl --X --request POST 'https://lilt.com/2/segments/review/unlock?key=API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"segmentIds": [23921, 23922]
}'
```
operationId: unlockSegments
requestBody:
description: segment ids to update
required: true
content:
application/json:
schema:
title: SegmentDoneResponse
type: object
properties:
segmentIds:
description: array of segment ids
type: array
example:
- 30032
- 30125
items:
type: number
required:
- segmentIds
summary: Unaccept and unlock segments
tags:
- Segments
responses:
'200':
description: array of updated segments
content:
application/json:
schema:
title: SegmentDoneResponse
type: array
items:
type: number
/v2/segments/tag:
get:
description: >+
Project tags for a segment. The `source_tagged` string contains one or
more SGML
tags. The `target` string is untagged. This endpoint will automatically
place the
source tags in the target.
Usage charges apply to this endpoint for production REST API keys.
operationId: tagSegment
parameters:
- description: The tagged source string.
in: query
name: source_tagged
required: true
schema:
type: string
- description: The target string.
in: query
name: target
required: true
schema:
type: string
- description: A unique Memory identifier.
in: query
name: memory_id
required: true
schema:
type: integer
responses:
'200':
description: A TaggedSegment object.
content:
application/json:
schema:
title: TaggedSegment
type: object
properties:
source_tagged:
type: string
description: The tagged source string.
target_tagged:
type: string
description: The tagged target string.
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
summary: Tag a Segment
tags:
- Segments
/v2/translate:
get:
tags:
- Translate
summary: Translate a segment
description: >+
Translate a source string.
Functionally identical to `POST /v2/translate`, with parameters passed
as query string parameters instead of a JSON request body. Useful for
simple integrations that prefer a GET request.
Setting the `rich` parameter to `true` will change the response format
to include additional information about each translation including a
model score, word alignments, and formatting information.
By default, this endpoint also returns translation memory (TM) fuzzy
matches, along
with associated scores. Fuzzy matches always appear ahead of machine
translation
output in the response.
The maximum source length is 5,000 characters.
Usage charges apply to this endpoint for production API keys.
operationId: translateSegmentGet
parameters:
- name: source
in: query
description: The source string to translate.
schema:
type: string
- name: memory_id
in: query
description: A unique Memory identifier.
required: true
schema:
type: integer
- name: source_hash
in: query
description: A source hash code.
schema:
type: integer
- name: 'n'
in: query
description: Return top n translations (deprecated).
schema:
type: integer
- name: prefix
in: query
description: A target prefix.
schema:
type: string
- name: rich
in: query
description: Returns rich translation information (e.g., with word alignments).
schema:
type: boolean
default: false
- name: tm_matches
in: query
description: Include translation memory fuzzy matches.
schema:
type: boolean
default: true
- name: project_tags
in: query
description: Project tags. Projects tags in source to target if set to true.
schema:
type: boolean
default: false
- name: contains_icu_data
in: query
description: >-
Contains ICU data. If true then tags in the source following the ICU
standard will be parsed and retained.
schema:
type: boolean
default: false
responses:
'200':
description: A TranslationList object.
content:
application/json:
schema:
$ref: '#/components/schemas/TranslationList'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Translate
summary: Translate a segment
description: >+
Translate a source string.
Setting the `rich` parameter to `true` will change the response format
to include additional information about each translation including a
model score, word alignments, and formatting information. The rich
format can be seen in the example response on this page.
By default, this endpoint also returns translation memory (TM) fuzzy
matches, along
with associated scores. Fuzzy matches always appear ahead of machine
translation
output in the response.
The maximum source length is 5,000 characters.
Usage charges apply to this endpoint for production API keys.
operationId: translateSegmentPost
requestBody:
content:
application/json:
schema:
title: TranslateSegmentBody
required:
- memory_id
type: object
properties:
source:
type: string
description: A unique Segment identifier.
memory_id:
type: integer
description: A unique Memory identifier.
source_hash:
type: integer
description: A source hash code.
'n':
type: integer
description: Return top n translations (deprecated).
prefix:
type: string
description: A target prefix
rich:
type: boolean
description: >-
Returns rich translation information (e.g., with word
alignments).
default: false
tm_matches:
type: boolean
description: Include translation memory fuzzy matches.
default: true
project_tags:
type: boolean
description: >-
Project tags. Projects tags in source to target if set to
true.
default: false
containsICUData:
type: boolean
description: >-
Contains ICU data. If true then tags in the source following
the ICU standard will be parsed and retained.
default: false
required: false
responses:
'200':
description: A TranslationList object.
content:
application/json:
schema:
$ref: '#/components/schemas/TranslationList'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
/v2/translate/file:
get:
tags:
- Translate
summary: Monitor file translation
description: >+
Get information about the one or more Files that are being translated
with machine translation. Query filters are optional but at least one
must be provided.
Example CURL:
```bash
curl -X GET
'https://api.lilt.com/v2/translate/file?key=API_KEY&translationIds=1,2&fromTime=1607966744&toTime=1707966744&status=InProgress'
```
operationId: monitorFileTranslation
parameters:
- name: translationIds
in: query
description: List of translation ids, comma separated
schema:
type: string
- name: status
in: query
description: >-
One of the translation statuses - `InProgress`, `Completed`,
`Failed`, `ReadyForDownload`
schema:
type: string
- name: fromTime
in: query
description: >-
Results after this time (inclusive) will be returned, specified as
seconds since the Unix epoch.
schema:
type: number
- name: toTime
in: query
description: >-
Results before this time (exclusive) will be returned, specified as
seconds since the Unix epoch.
schema:
type: number
responses:
'200':
description: Translation Info
content:
application/json:
schema:
title: monitorFileTranslationResponse
type: array
description: List of TranslationInfo objects
items:
$ref: '#/components/schemas/TranslationInfo'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/MonitorFileTranslationTypeError'
post:
tags:
- Translate
summary: Translate a File
description: >+
Start machine translation of one or more Files that have previously been
uploaded. The response will include an `id` parameter that can be used
to monitor and download the translations in subsequent calls.
Example CURL:
```bash
curl -X POST
'https://api.lilt.com/v2/translate/file?key=API_KEY&fileId=583&memoryId=2495&configId=123&withTM=true'
```
operationId: batchTranslateFile
parameters:
- name: fileId
in: query
description: List of File ids to be translated, comma separated.
required: true
schema:
type: integer
- name: memoryId
in: query
description: Id of Memory to use in translation.
required: true
schema:
type: integer
- name: configId
in: query
description: >-
An optional pararameter to specify an import configuration to be
applied when extracting translatable content from this file.
schema:
type: integer
- name: withTM
in: query
description: >-
An optional boolean parameter to toggle the use of Translation
Memory in the translation of the file.
schema:
type: boolean
- name: externalModelId
in: query
description: >-
An optional parameter to specify a third-party model to use for
translation. This allows you to use external MT providers instead of
Lilt's built-in MT system.
schema:
type: integer
responses:
'200':
description: Translation Info
content:
application/json:
schema:
title: batchTranslateFileResponse
type: array
description: List of TranslationInfo objects
items:
$ref: '#/components/schemas/TranslationInfo'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/translate/files:
get:
tags:
- Translate
summary: Download translated file
description: |+
Download a translated File.
Example CURL:
```bash
curl -X GET 'https://api.lilt.com/v2/translate/files?key=API_KEY&id=1'
```
operationId: downloadFile
parameters:
- name: id
in: query
description: A translation id.
required: true
schema:
type: integer
responses:
'200':
description: A file.
content:
application/octet-stream:
schema:
title: DocumentDownloadResponse
type: string
format: byte
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/create:
get:
tags:
- Create
summary: Get Lilt Create content
description: |+
Get a list of all content that has been generated by Lilt Create.
Example CURL:
```bash
curl -X GET 'https://api.lilt.com/v2/create?key=API_KEY'
```
operationId: getLiltCreateContent
responses:
'200':
description: An object with a documents next task Workflow metadata.
content:
application/json:
schema:
title: getLiltCreateContentResponse
type: object
properties:
contents:
type: array
description: List of LiltCreateContent objects
items:
$ref: '#/components/schemas/LiltCreateContent'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Create
summary: Generate new Lilt Create content
description: |+
Generate new Lilt Create content with the given parameters.
Example CURL:
```bash
curl -X POST 'https://api.lilt.com/v2/create?key=API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"language":"en-US",
"template":"blog-post",
"templateParams":{
"contentLength":"100",
"language":"en-US",
"sections":[],
"summary":"a blog post about hiking"
},
"preferences":{"tone":"formal","styleguide":""}
}'
```
operationId: generateLiltCreateContent
requestBody:
description: |
Input parameters that determine what content will be generated.
content:
application/json:
schema:
$ref: '#/components/schemas/LiltCreateContentRequest'
required: true
responses:
'200':
description: >
An event stream produced by Server Side Events. The following
events are supported.
- message: an object with the newly generated text (e.g. {"text":
"hello"})
- message: upon completion of events the string "[DONE]" will be
emitted
- fullcontent: an object containing the full response
content: {}
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: templateParams
/v2/create/{contentId}:
get:
tags:
- Create
summary: Get Lilt Create content by ID.
description: |+
Get Lilt Create content by ID.
Example CURL:
```bash
curl -X GET 'https://api.lilt.com/v2/create/1234?key=API_KEY'
```
operationId: getLiltCreateById
parameters:
- name: contentId
in: path
description: The content ID.
required: true
schema:
type: integer
responses:
'200':
description: The Lilt Create content.
content:
application/json:
schema:
$ref: '#/components/schemas/LiltCreateContent'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
tags:
- Create
summary: Update Lilt Create content
description: |+
Update a piece of Lilt Create content.
Example CURL:
```bash
curl -X PUT 'https://api.lilt.com/v2/create/1234?key=API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{"language":"de-DE"}'
```
operationId: updateLiltCreateContent
parameters:
- name: contentId
in: path
description: The content ID.
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LiltCreateContent'
required: false
responses:
'200':
description: The updated Lilt Create content.
content:
application/json:
schema:
$ref: '#/components/schemas/LiltCreateContent'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
delete:
tags:
- Create
summary: Delete Lilt Create content
description: |+
Delete a piece of Lilt Create content.
Example CURL:
```bash
curl -X DELETE 'https://api.lilt.com/v2/create/1234?key=API_KEY'
```
operationId: deleteLiltCreateContent
parameters:
- name: contentId
in: path
description: The content ID.
required: true
schema:
type: integer
responses:
'200':
description: The Delete Lilt Create Content Response.
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: The ID of the deleted Lilt Create content.
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/workflows/templates:
get:
tags:
- Workflows
summary: Retrieve workflow templates
description: >
Get all of the possible Workflow Templates owned by the team. Useful for
retrieving the ids corresponding to each workflow tables, and passing
them to subsequent requests, for example, creating a new Job with a
specific Workflow.
Example CURL:
```bash curl -X GET
'https://api.lilt.com/v2/workflows/templates?key=API_KEY' ```
operationId: getWorkflowTemplates
responses:
'200':
description: An array with a team's available WorkflowTemplates.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WorkflowTemplate'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs:
get:
tags:
- Jobs
summary: Retrieve all Jobs
description: >-
Get all Jobs within a given offset and limit. You can retrieve jobs from
your account using the above API.
Example CURL command:
```bash
curl -X GET 'https://api.lilt.com/v2/jobs?key=API_KEY&isArchived=false'
```
operationId: retrieveAllJobs
parameters:
- name: isArchived
in: query
description: Retrieves all jobs that are archived.
schema:
type: boolean
- name: isDelivered
in: query
description: Retrieves all jobs that are delivered.
schema:
type: boolean
- name: offset
in: query
description: >-
Return jobs starting at the offset row. If not given the default
offset will be 0.
schema:
minimum: 0
type: integer
- name: limit
in: query
description: >-
The maximum number of jobs to be returned. If not given the default
limit will be 25.
schema:
maximum: 50
type: integer
responses:
'200':
description: A list of Job objects.
content:
application/json:
schema:
title: JobsResponse
type: array
items:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Jobs
summary: Create a Job
description: |+
Create a Job. A Job is a collection of Projects.
A Job will contain multiple projects, based on the language pair.
A Project is associated with exactly one Memory.
Jobs appear in the Jobs dashboard of the web app.
Example CURL command:
```bash
curl -X POST 'https://api.lilt.com/v2/jobs?key=API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "test job",
"fileIds": [5009, 5010, 5011],
"due": "2022-05-05T10:56:44.985Z",
"srcLang": "en",
"srcLocale": "US",
"languagePairs": [
{ "memoryId": 3121, "trgLang": "de" },
{ "memoryId": 2508, "trgLang": "fr" },
{ "memoryId": 3037, "trgLang": "zh" }
]
}'
```
operationId: createJob
requestBody:
description: The Job resource to create.
content:
application/json:
schema:
title: JobCreateParameters
required:
- fileIds
- languagePairs
- name
- srcLang
- srcLocale
type: object
properties:
name:
type: string
description: A name for the Job.
example: My new Job
languagePairs:
type: array
description: >-
Language pairs is a set of one or more pairs that includes
source language, source locale(optional), target language,
target locale(optional), and memoryId.
items:
$ref: '#/components/schemas/LanguagePair'
fileIds:
type: array
description: A list of file ids to upload to job creation.
example:
- 298
- 299
items:
type: integer
due:
type: string
description: An ISO string date representing job due date.
example: '2021-10-05T14:48:00.000Z'
srcLang:
type: string
description: 2-letter ISO source language code
example: en
srcLocale:
type: string
description: 2-letter source language code
example: US
isPlural:
type: boolean
description: A boolean value representing if the files have plurals.
example: true
workflowTemplateId:
type: integer
description: >-
ID of the workflow template to be used. Use the [workflows
templates
endpoint](#tag/Workflows/operation/getWorkflowTemplates) to
get the list of available workflows.
domainId:
type: integer
description: >-
ID of the domain to be used. Use the [domains
endpoint](#tag/Domains/operation/getDomains) to get the list
of available domains.
example: 1
required: true
responses:
'200':
description: A Job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
/v2/jobs/{jobId}:
get:
tags:
- Jobs
summary: Retrieve a Job
description: >-
Retrieves a job data along with stats. To retrieve a specific job, you
will need the job `id` in the url path.
Example CURL command:
```bash
curl -X GET 'https://api.lilt.com/v2/jobs/{id}?key=API_KEY'
```
operationId: getJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
tags:
- Jobs
summary: Update a Job
description: >-
Updates a job with the new job properties. To update a specific job, you
will need the job `id` in the url path.
You can update job's name and due date by passing the property and new
value in the body.
Example CURL command:
```bash
curl -X PUT 'https://api.lilt.com/v2/jobs/{id}?key=API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "test job",
"due": "2022-05-05T10:56:44.985Z"
}'
```
operationId: updateJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
requestBody:
description: The Job resource to update.
content:
application/json:
schema:
title: JobUpdateParameters
type: object
properties:
name:
type: string
description: A name for the Job.
example: My new Job
due:
type: string
format: date-time
description: An ISO string date.
example: '2021-10-05T14:48:00.000Z'
isProcessing:
type: string
description: >
The processing status of the job. Provide one of the
following
integers to indicate the status.
Ok = 0
Started = 1
ExportError = -2
example: ExportError
enum:
- '0'
- '1'
- '-2'
processingErrorMsg:
type: string
description: The processing error message.
example: Authentication failed. Check your Contentful API Key.
required: false
responses:
'200':
description: A job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
delete:
tags:
- Jobs
summary: Delete a Job
description: >-
Delete a job, deletes all projects and documents in the job, deletes all
the segments from all the job's translation memories.
Example CURL command:
```bash
curl -X DELETE 'https://api.lilt.com/v2/jobs/{id}?key=API_KEY'
```
operationId: deleteJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A status object.
content:
application/json:
schema:
title: JobDeleteResponse
type: object
properties:
id:
type: integer
description: A unique Project identifier.
example: 241
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/stats:
get:
tags:
- Jobs
summary: Retrieve Job Leverage Stats
description: |-
Get the TM leverage stats for the job (new/exact/fuzzy matches).
Example CURL command:
```bash
curl -X GET 'https://api.lilt.com/v2/jobs/{id}/stats?key=API_KEY'
```
operationId: getJobLeverageStats
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A job leverage stats object.
content:
application/json:
schema:
$ref: '#/components/schemas/JobLeverageStats'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/archive:
post:
tags:
- Jobs
summary: Archive a Job
description: >-
Set job to archived, unassign all linguists and archive all projects and
documents inside the job.
It will return the archived job.
Example CURL command:
```bash
curl -X POST 'https://api.lilt.com/v2/jobs/{id}/archive?key=API_KEY'
```
operationId: archiveJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/unarchive:
post:
tags:
- Jobs
summary: Unarchive a Job
description: |-
Set job to unarchived, the job will move to active status.
Example CURL command:
```bash
curl -X POST 'https://api.lilt.com/v2/jobs/{id}/unarchive?key=API_KEY'
```
operationId: unarchiveJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/deliver:
post:
tags:
- Jobs
summary: Deliver a Job
description: >-
Set the job state to delivered and set all the projects in the job to
done
It will return the delivered job.
Example CURL command:
```bash
curl -X POST 'https://api.lilt.com/v2/jobs/{id}/deliver?key=API_KEY'
```
operationId: deliverJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/reactivate:
post:
tags:
- Jobs
summary: Reactivate a Job
description: >-
Set the job state to active. Does not change the state of projects
associated with the given job.
It will return the reactivated job.
Example CURL command:
```bash
curl -X POST 'https://api.lilt.com/v2/jobs/{id}/reactivate?key=API_KEY'
```
operationId: reactivateJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: A job object.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/export:
get:
tags:
- Jobs
summary: Export a Job
description: >-
Prepare job files for download.
To export translated documents from the job use the query parameter
`type=files`:
Example CURL command:
```bash
curl -X GET
'https://api.lilt.com/v2/jobs/{id}/export?key=API_KEY&type=files'
```
To export job memories use the query parameter `type=memory`.
The status of the export can be checked by requesting the job `GET
/jobs/:jobId`, `job.isProcessing` will be `1` while in progress,
`0` when idle and `-2` when the export failed.
operationId: exportJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
- name: type
in: query
description: category for files and memory.
required: true
schema:
type: string
responses:
'200':
description: 200 status.
content: {}
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/jobs/{jobId}/download:
get:
tags:
- Jobs
summary: Download a Job
description: >-
Make sure you have exported a job with the same id before using this
api.
Downloading files requires the exported job `id` in the param.
Example CURL command:
```bash
curl -X GET 'https://api.lilt.com/v2/jobs/{id}/download?key=API_KEY'
```
operationId: downloadJob
parameters:
- name: jobId
in: path
description: A job id.
required: true
schema:
type: integer
responses:
'200':
description: zipped file
content:
application/octet-stream:
schema:
type: string
format: byte
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/projects:
get:
tags:
- Projects
summary: Retrieve a Project
description: >-
Retrieves one or more projects, including the documents associated with
each project. Retrieving a project is the most efficient way to retrieve
a single project, multiple projects or a list of all available projects.
To retrieve a specific project, specify the `id` request parameter or
you can retrieve multiple projects by adding comma (,) between ids eg.
`?id=1234,5678`. To retrieve all projects, omit the `id` request
parameter. To limit the retrieved projects to those with a particular
source language or target language, specify the corresponding ISO 639-1
language codes in the `srclang` and `trglang` request parameters,
respectively.
operationId: getProjects
parameters:
- name: id
in: query
description: >-
A unique Project identifier. It can be a single id or multiple ids
separated by a comma
schema:
type: integer
- name: srclang
in: query
description: An ISO 639-1 language code.
schema:
type: string
- name: trglang
in: query
description: An ISO 639-1 language code.
schema:
type: string
- name: from_time
in: query
description: >-
Unix time stamp (epoch, in seconds) of Projects with `created_at`
greater than or equal to the value.
schema:
type: integer
- name: to_time
in: query
description: >-
Unix time stamp (epoch, in seconds) of Projects with `created_at`
less than the value.
schema:
type: integer
- name: state
in: query
description: A project state (backlog, inProgress, inReview, inQA, done).
schema:
type: string
- name: archived
in: query
description: >-
A flag that toggles whether to include archived projects in the
response (the default is `true`).
schema:
type: boolean
- name: connector_id
in: query
description: A unique Connector identifier.
schema:
type: integer
responses:
'200':
description: A list of Project objects.
content:
application/json:
schema:
title: ProjectResponse
type: array
items:
$ref: '#/components/schemas/Project'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Projects
summary: Create a Project
description: |+
Create a Project. A Project is a collection of Documents.
A Project is associated with exactly one Memory.
Projects appear in the dashboard of the web app.
operationId: createProject
requestBody:
description: The Project resource to create.
content:
application/json:
schema:
title: ProjectCreateParameters
required:
- memory_id
- name
type: object
properties:
name:
type: string
description: A name for the Project.
example: My new project
memory_id:
type: integer
description: The Memory to associate with this new Project.
example: 1234
job_id:
type: integer
description: >
The Job to associate with this new Project. If a Job ID is
not
provided then a new Job will be created to contain the
Project.
example: 1234
due_date:
type: integer
description: The due date. Measured in seconds since the Unix epoch.
example: 1489147692
metadata:
type: object
properties: {}
description: >-
A JSON object of key/value string pairs. Stores custom
project information.
example:
connectorType: github
notes: example metadata
workflowTemplateId:
type: integer
description: >-
The workflow template used to create this project.
WorkflowTemplateIds can be retrieved via the
/workflows/templates endpoint. If not specified then the
organization default workflowTemplateId will be used.
example: 14
workflow_template_name:
type: string
description: >-
Name of the workflow for the project, if a
workflowTemplateId is passed, this field will be ignored.
example: Translate > Review
llm_provider:
type: string
description: >-
The LLM provider to use for the project. Defaults to
"neural".
example: neural
external_model_id:
type: integer
description: >-
An optional parameter to specify a third-party model ID to
use for translation. This allows you to use external MT
providers instead of Lilt's built-in MT system. Must match
the chosen llm_provider.
example: 111
is_plural:
type: boolean
description: >-
Whether the documents in this project contain ICU plural
forms.
example: false
require_batch_qa_translator:
type: boolean
description: Whether to require batch QA from the translator side.
example: false
enable_prompt_labeling:
type: boolean
description: Whether to enable prompt labeling for the project.
example: false
job_type:
type: string
description: (Optional) A specialized job type for advanced features.
enum:
- TRANSLATION
- PROMPT_RESPONSE
additional_guidelines:
type: string
description: (Optional) Additional instructions or guidelines.
example: Provide consistent style across all chapters.
is_enhanced_human_ai_optimized:
type: boolean
description: Whether the project is enhanced with AI optimization.
example: false
domainId:
type: integer
description: A domain ID to categorize this project under.
example: 234
required: true
responses:
'200':
description: A Project object.
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
delete:
tags:
- Projects
summary: Delete a Project
description: |
Delete a Project.
operationId: deleteProject
parameters:
- name: id
in: query
description: A unique Project identifier.
schema:
type: integer
responses:
'200':
description: A status object.
content:
application/json:
schema:
title: ProjectDeleteResponse
type: object
properties:
id:
type: integer
description: A unique Project identifier.
example: 46530
deleted:
type: boolean
description: >-
If the operation succeeded, then `true`. Otherwise,
`false`.
example: true
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/documents/files:
get:
tags:
- Documents
summary: Download a Document
description: >+
Export a Document that has been translated in the Lilt web application.
Any Document can be downloaded in XLIFF 1.2 format, or can be retrieved
in its original uploaded format by setting `is_xliff=false`.
This endpoint will fail if either (a) export or (b) pre-translation
operations are in-progress. The status of those operations can be
determined by retrieving the Document resource.
Example CURL command:
```bash
curl -X GET https://api.lilt.com/v2/documents/files?key=API_KEY&id=274 -o from_lilt.xliff
```
operationId: downloadDocument
parameters:
- name: id
in: query
description: An unique Document identifier.
required: true
schema:
type: integer
- name: is_xliff
in: query
description: Download the document in XLIFF 1.2 format.
schema:
type: boolean
default: true
responses:
'200':
description: A file.
content:
application/octet-stream:
schema:
title: DocumentDownloadResponse
type: string
format: byte
'401':
$ref: '#/components/responses/UnauthorizedError'
'502':
description: File in pretranslation.
content: {}
default:
description: Unexpected error
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Documents
summary: Upload a File
description: >+
Create a Document from a file in any of the formats [documented in our
knowledge base](/kb/supported-file-formats).
Request parameters should be passed as JSON object with the header field
`LILT-API`.
File names in the header can only contain [US-ASCII
characters](https://en.wikipedia.org/wiki/ASCII). File names with
characters outside of US-ASCII should be [URI
encoded](https://en.wikipedia.org/wiki/Percent-encoding) or
transliterated to US-ASCII strings.
Example CURL command:
```bash
curl -X POST https://api.lilt.com/v2/documents/files?key=API_KEY \
--header "LILT-API: {\"name\": \"introduction.xliff\",\"pretranslate\": \"tm+mt\",\"project_id\": 9}" \
--header "Content-Type: application/octet-stream" \
--data-binary @Introduction.xliff
```
operationId: uploadDocument
parameters:
- name: name
in: header
description: A file name.
required: true
schema:
type: string
- name: project_id
in: header
description: A unique Project identifier.
required: true
schema:
type: integer
- name: pretranslate
in: header
description: |
An optional parameter indicating if and how the document will be
pretranslated upon being uploaded.
The accepted values are `TM`, or `TM+MT`
schema:
type: string
- name: auto_accept
in: header
description: >
An optional parameter to auto-accept segments with 100% translation
memory matches when the `pretranslate` option is also set, or to
auto-accept any target data that is present when the uploaded file
is XLIFF. If omitted it will default to your organization settings
for `Accept and lock exact matches`,
if set to `false`, no segments will be auto-accepted.
schema:
type: boolean
- name: case_sensitive
in: header
description: >
An optional parameter to use case sensitive translation memory
matching when the `pretranslate`
option is also enabled. Matches must have identical
character-by-character case to qualify as matches.
Default value matches your organization settings for `Use case
sensitive translation memory matching` setting
schema:
type: boolean
- name: match_attribution
in: header
description: >
An optional parameter to attribute translation authorship of exact
matches to the author of the file
when the `pretranslate` option is also enabled. Default value
matches your organization settings for `Translation authorship`
setting
schema:
type: boolean
- name: config_id
in: header
description: |
An optional pararameter to specify an import configuration to
be applied when extracting translatable content from this file.
schema:
type: integer
requestBody:
description: |
The file contents to be uploaded. The entire POST body will be
treated as the file.
content:
application/octet-stream:
schema:
title: DocumentUploadBody
type: string
format: binary
example: |-
...
required: true
responses:
'200':
description: A Document object.
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentWithSegments'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
/v2/documents/pretranslate:
post:
tags:
- Documents
summary: Pretranslate Documents
description: >+
Pretranslate one or more Documents using translation memory (TM) and,
optionally, machine translation (MT). Only documents that are not
currently importing/exporting and are not already pretranslating will
be pretranslated; the response always reflects the current state of
every requested Document id, whether or not it was eligible.
This is an asynchronous operation. The endpoint returns immediately
with a `202` response once pretranslation has been queued; poll the
Document resource (or the `is_pretranslating` / `status.pretranslation`
fields it returns) to see when pretranslation has finished.
This endpoint is subject to a per-organization rate limit. See the
[API Rate Limits guide](/developers/guides/rate-limits) for details on
how to read `429` responses and batch requests efficiently by passing
multiple document ids in a single call.
Example CURL:
```bash
curl -X POST
'https://api.lilt.com/v2/documents/pretranslate?key=API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{"id": [274, 275], "mode": "TM+MT", "auto_accept": true}'
```
operationId: pretranslateDocuments
parameters:
- name: auto_accept
in: query
description: >-
Auto-accept segments with 100% translation memory matches. Can also
be passed in the request body. Defaults to your organization's
`Accept and lock exact matches` setting.
schema:
type: boolean
- name: case_sensitive
in: query
description: >-
Use case-sensitive translation memory matching. Can also be passed
in the request body. Defaults to your organization's `Use case
sensitive translation memory matching` setting.
schema:
type: boolean
- name: attribute_to_creator
in: query
description: >-
Attribute translation authorship of exact matches to the author of
the document. Can also be passed in the request body. Defaults to
your organization's `Translation authorship` setting.
schema:
type: boolean
- name: mode
in: query
description: >-
Pretranslation mode. Can also be passed in the request body.
Defaults to `TM`.
schema:
type: string
enum:
- TM
- TM+MT
default: TM
requestBody:
description: >-
The Document id(s) to pretranslate, plus optional pretranslation
options.
content:
application/json:
schema:
title: PretranslateDocumentsBody
type: object
required:
- id
properties:
id:
description: A Document id, or an array of Document ids, to pretranslate.
oneOf:
- type: integer
- type: array
items:
type: integer
example:
- 274
- 275
mode:
type: string
description: Pretranslation mode. Defaults to `TM`.
enum:
- TM
- TM+MT
default: TM
auto_accept:
type: boolean
description: >-
Auto-accept segments with 100% translation memory matches.
Defaults to your organization's `Accept and lock exact
matches` setting.
case_sensitive:
type: boolean
description: >-
Use case-sensitive translation memory matching. Defaults to
your organization's `Use case sensitive translation memory
matching` setting.
attribute_to_creator:
type: boolean
description: >-
Attribute translation authorship of exact matches to the
author of the document. Defaults to your organization's
`Translation authorship` setting.
required: true
responses:
'202':
description: >-
Pretranslation has been queued. Returns the current state of every
requested Document.
content:
application/json:
schema:
title: PretranslateDocumentsResponse
type: object
properties:
id:
type: array
description: The Document ids that were requested.
items:
type: integer
example:
- 274
- 275
is_pretranslating:
type: boolean
description: Always `true` for a successfully queued request.
example: true
documents:
type: array
description: The current state of each requested Document.
items:
$ref: '#/components/schemas/DocumentWithoutSegments'
'401':
$ref: '#/components/responses/UnauthorizedError'
'429':
description: >-
Rate limit exceeded. See the [API Rate Limits
guide](/developers/guides/rate-limits) for details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
/v2/files:
get:
tags:
- Files
summary: Retrieve a File
description: >-
Retrieves one or more files available to your user. Files are not
associated with a project or a memory. They are unprocessed and can be
used later in the project/document creation workflow step.
To retrieve a specific file, specify the id request
parameter. To retrieve all files, omit the id request
parameter.
Example CURL command:
```bash
curl -X GET https://api.lilt.com/v2/files?key=API_KEY&id=274
```
operationId: getFiles
parameters:
- name: id
in: query
description: A unique File identifier.
schema:
type: integer
- name: labels
in: query
description: |
One or more labels. This will return the files which contain all of
the given labels.
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: A list of files.
content:
application/json:
schema:
title: FilesList
type: array
items:
$ref: '#/components/schemas/SourceFile'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
description: User does not have permission for provided file.
content: {}
'410':
description: File deleted.
content: {}
default:
description: Unexpected error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Files
summary: Upload a File
description: >+
Upload a File in any of the formats [documented in our knowledge
base](/kb/supported-file-formats).
Request parameters should be passed in as query string parameters.
Example CURL command:
```bash
curl -X POST https://api.lilt.com/v2/files?key=API_KEY&name=en_US.json \
--header "Content-Type: application/octet-stream" \
--data-binary @en_US.json
```
Calls to GET /files are used to monitor the language detection results.
The API response will be augmented to include detected language and
confidence score.
The language detection will complete asynchronously. Prior to
completion, the `detected_lang` value will be `zxx`, the reserved ISO
639-2 code for "No linguistic content/not applicable".
If the language can not be determined, or the detection process fails,
the `detected_lang` field will return `und`, the reserved ISO 639-2 code
for undetermined language, and the `detected_lang_confidence` score will
be `0`.
operationId: uploadFile
parameters:
- name: name
in: query
description: A file name.
required: true
schema:
type: string
- name: file_hash
in: query
description: >-
A hash value to associate with the file. The MD5 hash of the body
contents will be used by default if a value isn't provided.
schema:
type: string
- name: langId
in: query
description: >-
Flag indicating whether to perform language detection on the
uploaded file. Default is false.
schema:
type: boolean
- name: project_id
in: query
description: The project to associate the uploaded file with.
schema:
type: integer
- name: category
in: query
description: >-
The category of the file. The options are `REFERENCE`, or `API`. The
default is API. Files with the `REFERENCE` category will be
displayed as reference material.
schema:
type: string
- name: labels
in: query
description: Comma-separated list of labels to add to the uploaded document.
schema:
type: string
- in: query
name: job_type
description: Specifies the job type when adding this file to a job.
required: false
schema:
type: string
enum:
- TRANSLATION
- PROMPT_RESPONSE
requestBody:
description: >-
The file contents to be uploaded. The entire POST body will be treated
as the file.
content:
application/octet-stream:
schema:
title: FileUploadBody
type: string
format: binary
example: |-
...
required: true
responses:
'201':
description: A SourceFile object.
content:
application/json:
schema:
$ref: '#/components/schemas/SourceFile'
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: body
delete:
tags:
- Files
summary: Delete a File
description: |+
Delete a File.
Example CURL command:
```bash
curl -X DELETE https://api.lilt.com/v2/files?key=API_KEY&id=123
```
operationId: deleteFile
parameters:
- name: id
in: query
description: A unique File identifier.
required: true
schema:
type: integer
responses:
'204':
description: A status object.
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/files/download:
get:
tags:
- Files
summary: Download file
description: |
Download a File.
Example CURL:
```bash
curl -X GET 'https://api.lilt.com/v2/files/download?key=API_KEY&id=1'
```
operationId: download
parameters:
- name: id
in: query
description: A File id.
required: true
schema:
type: string
responses:
'200':
description: A file.
content:
application/octet-stream:
schema:
title: DocumentDownloadResponse
type: string
format: byte
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/files/labels:
post:
tags:
- Files
summary: Add Label to File
description: |
Add a label to a File.
Example CURL:
```bash
curl -X POST 'https://api.lilt.com/v2/files/labels?key=API_KEY&id=1'
--header 'Content-Type: application/json' \
--data-raw '{
"name": "label_name"
}'
```
operationId: addLabel
parameters:
- name: id
in: query
description: A File id.
required: true
schema:
type: string
requestBody:
description: A label name.
content:
application/json:
schema:
title: AddFileLabelRequest
type: object
properties:
name:
type: string
description: The Label name.
example: label_name
required: true
responses:
'204':
description: A success response.
content: {}
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codegen-request-body-name: name
delete:
tags:
- Files
summary: Remove Label from File
description: >
Remove a label from a File.
Example CURL:
```bash
curl -X DELETE
'https://api.lilt.com/v2/files/labels?key=API_KEY&id=1&name=label_name'
```
operationId: removeLabel
parameters:
- name: id
in: query
description: A File id.
required: true
schema:
type: string
- name: name
in: query
description: A label name.
required: true
schema:
type: string
responses:
'204':
description: A success response.
content: {}
'401':
$ref: '#/components/responses/UnauthorizedError'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload:
get:
summary: Get All Pending Uploads or specific list of uploads by ids or statuses
description: |
Retrieve all pending uploads for the current user and organization.
Example CURL command:
```
curl -X GET https://lilt.com/2/upload?key=API_KEY
```
operationId: getPendingUploads
parameters:
- name: ids
in: query
required: false
schema:
type: string
description: Comma-separated list of upload IDs to filter by.
- name: statuses
in: query
required: false
schema:
type: string
description: Comma-separated list of upload statuses to filter by.
tags:
- Uploads
responses:
'200':
description: List of pending uploads.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
description: Unique upload identifier
example: 12345
filename:
type: string
description: Name of the uploaded file
example: document.xliff
status:
type: string
description: Current upload status
example: pending
created_at:
type: string
format: date-time
description: Upload creation timestamp
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload/{uploadId}:
get:
summary: Get Upload by ID
description: |
Retrieve a specific upload by its unique identifier.
Example CURL command:
```
curl -X GET https://lilt.com/2/upload/12345?key=API_KEY
```
operationId: getUploadById
tags:
- Uploads
parameters:
- in: path
name: uploadId
description: Unique upload identifier
required: true
schema:
type: integer
minimum: 1
responses:
'200':
description: Upload details.
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: Unique upload identifier
example: 12345
filename:
type: string
description: Name of the uploaded file
example: document.xliff
status:
type: string
description: Current upload status
example: pending
created_at:
type: string
format: date-time
description: Upload creation timestamp
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload/s3/params:
get:
summary: Get S3 Upload Parameters
description: >
Get S3 upload parameters via query string. This endpoint provides the
necessary information
to complete the file upload process using GET parameters.
Example CURL command:
```
curl -X GET "https://lilt.com/v2/upload/s3/params?key=API_KEY&filename=example.json&type=application/json&metadata.size=1024&metadata.labels=important,review-needed"
```
operationId: getS3UploadParams
tags:
- Uploads
parameters:
- in: query
name: filename
description: A file name including file extension.
required: true
schema:
type: string
example: document.xliff
- in: query
name: type
description: The content-type or mime-type of the file to upload.
required: true
schema:
type: string
example: video/mp4
- in: query
name: metadata.size
description: The size of the file to upload in bytes.
required: false
schema:
type: integer
minimum: 0
example: 1024
- in: query
name: metadata.category
description: File category metadata.
required: false
schema:
type: string
example: documents
- in: query
name: metadata.uuid
description: File UUID metadata.
required: false
schema:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
- in: query
name: metadata.labels
description: >-
Comma-separated list of label names to be added to the file after
upload completes.
required: false
schema:
type: string
example: important,review-needed
responses:
'200':
description: Upload initialization information.
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: Pre-signed URL for file upload
example: >-
https://storage.googleapis.com/bucket/uploads/user123/file456.json?...
key:
type: string
description: Upload key identifier
example: uploads/user123/file456.json
method:
type: string
description: HTTP method to use for upload
example: PUT
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
summary: Initiate File Upload to Cloud Storage
description: >
Initiate the upload of a file to cloud storage. This endpoint provides
the necessary information
to complete the file upload process.
Supports both single file and bulk upload requests. For bulk uploads,
pass an array of upload
objects (maximum 100 items). The response format matches the request
format - a single object
for single file requests, or an array for bulk requests.
Example CURL command (single file):
```
curl -X POST https://lilt.com/v2/upload/s3/params?key=API_KEY \
--header "Content-Type: application/json" \
--data-raw '{
"filename": "example.json",
"type": "application/json",
"metadata": {
"size": 1024,
"labels": ["important", "review-needed"]
}
}'
```
Example CURL command (bulk upload):
```
curl -X POST https://lilt.com/v2/upload/s3/params?key=API_KEY \
--header "Content-Type: application/json" \
--data-raw '[
{
"filename": "file1.json",
"type": "application/json",
"metadata": { "size": 1024 }
},
{
"filename": "file2.txt",
"type": "text/plain",
"metadata": { "size": 2048 }
}
]'
```
operationId: initiateS3Upload
tags:
- Uploads
requestBody:
description: >
Information about the file(s) to be uploaded. Can be a single object
or an array of objects (max 100).
Single file request: `{ "filename": "...", "type": "...", "metadata":
{...} }`
Bulk request: `[{ "filename": "...", "type": "...", "metadata": {...}
}, ...]`
required: true
content:
application/json:
schema:
title: InitiateUploadBody
description: >-
A single upload request object, or an array of upload request
objects (max 100).
type: object
properties:
filename:
description: A file name including file extension.
type: string
example: document.xliff
type:
description: The content-type or mime-type of the file to upload.
type: string
example: video/mp4
metadata:
description: Optional file metadata.
type: object
properties:
size:
description: The size of the file to upload in bytes.
type: integer
minimum: 0
example: 1024
category:
description: File category.
type: string
example: documents
uuid:
description: File UUID.
type: string
example: 123e4567-e89b-12d3-a456-426614174000
labels:
description: >-
Array of label names to be added to the file after
upload completes.
type: array
items:
type: string
example:
- important
- review-needed
required:
- filename
- type
responses:
'200':
description: >
Upload initialization information. Returns a single object for
single file requests,
or an array of objects for bulk requests.
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: Pre-signed URL for file upload
example: >-
https://storage.googleapis.com/bucket/uploads/user123/file456.json?...
key:
type: string
description: Upload key identifier
example: uploads/user123/file456.json
method:
type: string
description: HTTP method to use for upload
example: PUT
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload/s3/multipart:
post:
summary: Initiate Multipart Upload
description: >
Initiate a multipart upload for large files. This endpoint provides the
necessary information
to start a multipart upload process.
Supports both single file and bulk upload requests. For bulk uploads,
pass an array of upload
objects (maximum 100 items). The response format matches the request
format - a single object
for single file requests, or an array for bulk requests.
Example CURL command (single file):
```
curl -X POST https://lilt.com/v2/upload/s3/multipart?key=API_KEY \
--header "Content-Type: application/json" \
--data-raw '{
"filename": "large-file.zip",
"type": "application/zip",
"metadata": {
"size": 104857600
}
}'
```
Example CURL command (bulk upload):
```
curl -X POST https://lilt.com/v2/upload/s3/multipart?key=API_KEY \
--header "Content-Type: application/json" \
--data-raw '[
{
"filename": "large-file1.zip",
"type": "application/zip",
"metadata": { "size": 104857600 }
},
{
"filename": "large-file2.zip",
"type": "application/zip",
"metadata": { "size": 209715200 }
}
]'
```
operationId: initiateMultipartUpload
tags:
- Uploads
requestBody:
description: >
Information about the file(s) to be uploaded. Can be a single object
or an array of objects (max 100).
Single file request: `{ "filename": "...", "type": "...", "metadata":
{...} }`
Bulk request: `[{ "filename": "...", "type": "...", "metadata": {...}
}, ...]`
required: true
content:
application/json:
schema:
title: InitiateMultipartUploadBody
description: >-
A single upload request object, or an array of upload request
objects (max 100).
type: object
properties:
filename:
description: A file name including file extension.
type: string
example: large-file.zip
type:
description: The content-type or mime-type of the file to upload.
type: string
example: application/zip
metadata:
description: Optional file metadata.
type: object
properties:
size:
description: The size of the file to upload in bytes.
type: integer
minimum: 0
example: 104857600
category:
description: File category.
type: string
example: documents
uuid:
description: File UUID.
type: string
example: 123e4567-e89b-12d3-a456-426614174000
labels:
description: >-
Array of label names to be added to the file after
upload completes.
type: array
items:
type: string
example:
- important
- review-needed
required:
- filename
- type
responses:
'200':
description: >
Multipart upload initialization information. Returns a single object
for single file requests,
or an array of objects for bulk requests.
content:
application/json:
schema:
type: object
properties:
uploadId:
type: string
description: Multipart upload ID for subsequent part uploads
example: abc123def456
key:
type: string
description: Upload key identifier
example: uploads/user123/large-file.zip
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload/s3/multipart/{uploadId}/complete:
post:
summary: Complete Multipart Upload
description: |
Complete a multipart upload by providing all uploaded parts information.
Example CURL command:
```
curl -X POST "https://lilt.com/v2/upload/s3/multipart/abc123def456/complete?key=API_KEY&key=uploads/user123/file456.zip" \
--header "Content-Type: application/json" \
--data-raw '{
"parts": [
{"ETag": "etag1", "PartNumber": 1},
{"ETag": "etag2", "PartNumber": 2}
]
}'
```
operationId: completeMultipartUpload
tags:
- Uploads
parameters:
- in: path
name: uploadId
description: Multipart upload ID from initiate response
required: true
schema:
type: string
- in: query
name: s3Key
description: Upload key from initiate response
required: true
schema:
type: string
requestBody:
description: Information about uploaded parts.
required: true
content:
application/json:
schema:
title: CompleteMultipartUploadBody
type: object
properties:
parts:
description: Array of completed upload parts.
type: array
items:
type: object
properties:
ETag:
description: ETag of the uploaded part
type: string
example: abc123def456
PartNumber:
description: Part number (1-based)
type: integer
minimum: 1
example: 1
required:
- ETag
- PartNumber
required:
- parts
responses:
'200':
description: Upload completion confirmation.
content:
application/json:
schema:
type: object
properties:
success:
description: Upload completion status
type: boolean
example: true
location:
description: Final file location
type: string
example: >-
https://storage.googleapis.com/bucket/uploads/user123/file456.zip
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload/s3/multipart/{uploadId}/{partNumber}:
get:
summary: Sign Upload Part
description: |
Get a signed URL for uploading a specific part of a multipart upload.
Make sure to set the part size to 8MB (8388608 bytes).
Example CURL command:
```
curl -X GET "https://lilt.com/v2/upload/s3/multipart/abc123def456/1?key=API_KEY&key=uploads/user123/file456.zip&size=5242880"
```
operationId: signUploadPart
tags:
- Uploads
parameters:
- in: path
name: uploadId
description: Multipart upload ID from initiate response
required: true
schema:
type: string
- in: path
name: partNumber
description: Part number (1-based)
required: true
schema:
type: integer
minimum: 1
- in: query
name: s3Key
description: Upload key from initiate response
required: true
schema:
type: string
- in: query
name: size
description: Size of this part in bytes
required: true
schema:
type: integer
minimum: 0
responses:
'200':
description: Signed URL for part upload.
content:
application/json:
schema:
type: object
properties:
url:
description: Pre-signed URL for this part upload
type: string
example: >-
https://storage.googleapis.com/bucket/uploads/user123/file456.zip?partNumber=1&...
method:
description: HTTP method to use for upload
type: string
example: PUT
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v2/upload/s3/multipart/{uploadId}:
delete:
summary: Cancel Multipart Upload
description: |
Cancel/abort a multipart upload and clean up any uploaded parts.
Example CURL command:
```
curl -X DELETE "https://lilt.com/v2/upload/s3/multipart/abc123def456?key=API_KEY&key=uploads/user123/file456.zip"
```
operationId: cancelMultipartUpload
tags:
- Uploads
parameters:
- in: path
name: uploadId
description: Multipart upload ID to cancel
required: true
schema:
type: string
- in: query
name: s3Key
description: Upload key from initiate response
required: true
schema:
type: string
responses:
'200':
description: Upload cancellation confirmation.
content:
application/json:
schema:
type: object
properties:
success:
description: Cancellation status
type: boolean
example: true
message:
description: Cancellation message
type: string
example: Multipart upload cancelled successfully
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/connectors/configuration/webhooks:
get:
tags:
- Webhook Configuration
summary: Retrieve a list of Webhook Configurations.
description: >
Retrieves a list of webhook configurations available to your LILT
organization.
Use this to manage your webhook configurations.
operationId: webhooksGetMany
responses:
'200':
description: The webhook configurations response.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/webhook_response'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Webhook Configuration
summary: Creates a new Webhook Configuration
description: |
Creates a new webhook configuration for your LILT organization.
operationId: webhooksCreate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/create_webhook_options'
responses:
'200':
description: Returns the newly created webhook configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/webhook_response'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/connectors/configuration/webhooks/{id}:
get:
tags:
- Webhook Configuration
summary: Retrieve a specific Webhook Configuration by ID.
description: |
Retrieves a specific webhook configuration by its ID.
Deleted webhook configurations are not returned.
operationId: webhooksGet
parameters:
- name: id
in: path
required: true
description: The Webhook Configuration ID.
schema:
type: integer
example: 12345
responses:
'200':
description: Returns the webhook configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/webhook_response'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
tags:
- Webhook Configuration
summary: Update a specific Webhook Configuration by ID.
description: |
Updates a specific webhook configuration by its ID.
Only the fields that are provided in the request body will be updated.
operationId: webhooksUpdate
parameters:
- name: id
in: path
required: true
description: The Webhook Configuration ID.
schema:
type: integer
example: 12345
requestBody:
required: true
content:
application/json:
schema:
anyOf:
- type: object
properties:
webhookName:
type: string
description: The name of the webhook configuration.
required:
- webhookName
- type: object
properties:
webhookUrl:
type: string
format: uri
description: The URL to which the webhook notifications will be sent.
required:
- webhookUrl
- type: object
properties:
eventType:
type: array
items:
type: string
enum:
- JOB_DELIVER
- JOB_UPDATE
- PROJECT_DELIVER
- PROJECT_UPDATE
- INSTANT_TRANSLATE_COMPLETED
- INSTANT_TRANSLATE_FAILED
description: >-
The list of event types that will trigger the webhook
notification.
required:
- eventType
responses:
'200':
description: Returns the updated webhook configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/webhook_response'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
tags:
- Webhook Configuration
summary: Delete a specific Webhook Configuration by ID.
operationId: services.configuration_api.webhooks.delete
parameters:
- name: id
in: path
required: true
description: The Webhook Configuration ID.
schema:
type: integer
example: 12345
responses:
'204':
description: Upon success a response with an empty body is returned.
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/domains:
get:
tags:
- Domains
summary: Retrieve Domains
operationId: getDomains
description: >
Retrieve a list of Domains associated with the Organization's API key.
Each Domain contains potentially 4 Arrays related to the Domain these
are as follows:
- models - the list of models associated with the Domain
- filterConfigs - the list of filterConfigs associated with the Domain
- domainMetadata - the list of Domain specific options that have been
configured for this domain.
parameters:
- name: key
in: header
description: >-
the ApiKey used to authenticate with LILT, used to look up the
Organization's domain information.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DomainList'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
securitySchemes:
BasicAuth:
type: http
scheme: basic
ApiKeyAuth:
type: apiKey
name: key
in: query
schemas:
Error:
type: object
properties:
message:
type: string
description: A human-readable message describing the error.
description: |
Response in the event of an unexpected error.
example:
message: Internal server error.
Memory:
type: object
properties:
id:
type: integer
description: A unique number identifying the Memory.
example: 1234
srclang:
type: string
description: An ISO 639-1 language identifier.
example: en
trglang:
type: string
description: An ISO 639-1 language identifier.
example: fr
srclocale:
type: string
description: An ISO 639-1 language identifier.
example: US
trglocale:
type: string
description: An ISO 639-1 language identifier.
example: FR
name:
type: string
description: A name for the Memory.
example: Acme Corp Support Content
is_processing:
type: boolean
description: Indicates the memory is being processed.
example: false
version:
type: integer
description: >-
The current version of the Memory, which is the number of updates
since the memory was created.
example: 78
created_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
updated_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
resources:
type: array
description: >-
The resource files (translation memories and termbases) associated
with this Memory.
items:
type: string
description: |
A Memory is a collection of parallel (source/target) segments
from which a MT/TM model is trained. When a translator confirms
a segment in the Interface, a parallel segment is added to the
Memory. Parallel segments from existing translation memories and
bitexts can also be added to the Memory via the API.
TranslationMemoryEntry:
type: object
properties:
source:
type: string
description: The source string.
example: The red bus.
target:
type: string
description: >-
The target string. Tags will be automatically placed according to
the query string.
example: Le bus rouge.
score:
type: integer
description: The fuzzy match score.
example: 100
metadata:
type: object
properties: {}
description: Attributes describing the translation memory entry.
description: A translation memory entry.
SDLXLIFFFilter:
required:
- confName
type: object
properties:
confName:
type: string
description: the current state of the SDLXLIFF Trans Unit.
enum:
- Translated
- Draft
- ApprovedTranslation
- Locked
- SignedOff
allowablePercentage:
type: integer
description: >-
This represents for the current conf_name what percentage the filter
applies to. If you pass -1 it will take any value for this field
and won't ignore blank values. If you pass 50, Lilt will only import
Segments that have a 50 percent match or better.
allowUnlockedSegments:
type: boolean
description: >-
Boolean that tells Lilt whether we should allow unlocked Segments
for this conf_name.
Translation:
type: object
properties:
target:
type: string
description: The target string.
targetWithTags:
type: string
description: The target string with source tags projected into the target.
align:
type: string
description: >
"MT only: A whitespace delimited list of source-target alignment
indices."
provenance:
type: string
description: >
Positive values indicate that the word is from the Memory,
with contiguous identical entries (e.g., 2 2) indicating
phrase matches. Negative contiguous values indicate entries from the
Lexicon.
0 indicates a word from the background data.
score:
type: number
description: The score of the translation.
isTMMatch:
type: boolean
description: 'TM only: If true, indicates an exact translation memory match.'
targetDelimiters:
type: array
description: >-
A format string that indicates, for each word, if the word should be
preceded by a space.
items:
type: string
targetWords:
type: array
description: >
The target string can be constructed by suffixing each
`targetDelimiters` entry with its corresponding word in
`targetWords` and concatenating the constructed array.
Please note that the `targetDelimiters` array has one more entry
than `targetWords` array which is why the last entry in the array
will be the last value of `targetDelimiters`.
items:
type: string
description: >-
A machine translation (MT) or a translation memory (TM) match of a
source segment.
example:
- score: 3.4936864e-8
align: 0-0 1-1 2-2 3-3
targetDelimiters:
- ''
- ' '
- ' '
- ''
- ''
targetWords:
- Authentifizierung
- nicht
- erforderlich
- .
target: Authentifizierung nicht erforderlich .
targetWithTags: Authentifizierung nicht erforderlich.
isTMMatch: false
provenance: 0 0 0 0
TranslationList:
type: object
properties:
untokenizedSource:
type: string
description: >-
The untokenized source segment. Punctuation has not been separated
from words.
example: Authentication not required.
tokenizedSource:
type: string
description: >-
The tokenized source segment. Punctuation has been separated from
words.
example: Authentication not required .
sourceDelimiters:
type: array
description: >-
A format string that indicates, for each word, if the word should be
preceded by a space.
example:
- ''
- ' '
- ' '
- ''
- ''
items:
type: string
translation:
type: array
description: A list of Translation objects.
items:
$ref: '#/components/schemas/Translation'
description: An ranked list of translations and associated metadata.
TranslationInfo:
type: object
properties:
id:
type: integer
description: Unique identifier for this translation.
fileId:
type: integer
description: id of the File that is being translated.
status:
type: string
description: >-
Status of the translation - `InProgress`, `ReadyForDownload`,
`Completed`, `Failed`.
createdAt:
type: integer
description: >-
Time when this translation was started, in seconds since the Unix
epoch.
errorMsg:
type: string
description: Error message, present when status is `Failed`.
description: |
Information describing a batch translation process.
example:
id: 1
fileId: 2,
status: InProgress
createdAt: 1609357135
MonitorFileTranslationTypeError:
type: object
description: >
Monitor file translation can have different errors based on reasons
explained in the examples.
example:
Unsupported_file_type:
message: Customer gave us garbage.
File_extraction_error:
message: Customer gave us garbage.
No_translatable_content:
message: Customer gave us an empty file.
Batch_MT_initiation_failure:
message: Something is wrong with MT.
Batch_MT_response_failure:
message: Something is wrong with MT.
File_reassembly_error:
message: We couldn't put the translated file back together.(okapi error)
Billing_error:
message: We couldn't log the information about the MT to our billing system.
Invalid_memory:
message: Something is wrong with the memory.
Storage_error:
message: Error occurred interacting with file storage.
LiltCreateContent:
type: object
required:
- language
- template
- templateParams
properties:
name:
type: string
description: A name for the request content.
id:
type: integer
description: A unique identifier for the generated content.
language:
type: string
description: The language of the content.
template:
type: string
description: The template of the content.
templateParams:
type: object
description: The template parameters of the content.
required:
- language
properties:
contentLength:
type: integer
description: The length of the content.
memoryId:
type: integer
description: The ID referencing a Data Source.
language:
type: string
description: The language of the content.
sections:
type: array
description: The sections of the content.
items:
type: string
description: A section heading of the content.
summary:
type: string
description: The summary of the content.
preferences:
type: object
description: The preferences of the content.
properties:
tone:
type: string
description: The tone of the content.
styleguide:
type: string
description: The styleguide of the content.
description: |
Content Parameters for LiltCreate.
LiltCreateContentRequest:
type: object
required:
- language
- template
- templateParams
properties:
name:
type: string
description: A name for the request content.
language:
type: string
description: The language of the content.
template:
type: string
description: The template of the content.
templateParams:
type: object
description: The template parameters of the content.
required:
- language
properties:
contentLength:
type: integer
description: The length of the content.
memoryId:
type: integer
description: The ID referencing a Data Source.
language:
type: string
description: The language of the content.
sections:
type: array
description: The sections of the content.
items:
type: string
description: A section heading of the content.
summary:
type: string
description: The summary of the content.
preferences:
type: object
description: The preferences of the content.
properties:
tone:
type: string
description: The tone of the content.
styleguide:
type: string
description: The styleguide of the content.
description: |
Content Parameters for LiltCreate.
WorkflowStageTemplate:
type: object
properties:
name:
type: string
description: The human readable name of a Workflow stage.
example: Translate
assignmentType:
type: string
description: An enum to represent all possible types of Workflow stage.
example: TRANSLATE
enum:
- READY_TO_START
- TRANSLATE
- REVIEW
- SECONDARY_REVIEW
- DONE
description: A single stage within a Workflow Template.
WorkflowTemplate:
type: object
properties:
id:
type: number
description: >-
Identifier of a teams Workflow template. Can be used during Job
creation for specifying the workflow used for a job or language
pair.
example: 15
name:
type: string
example: Translate > Review > Customer Review
TeamId:
type: number
description: The name of a given Workflow template.
example: 100
stages:
type: array
description: The stages in this workflow template.
items:
$ref: '#/components/schemas/WorkflowStageTemplate'
description: >-
A workflow template which defines the workflow's possible steps
(combination of Translation, Review and Customer Review).
WorkflowStageAssignment:
required:
- workflowStageTemplateId
type: object
properties:
workflowStageTemplateId:
type: integer
example: 12345
userId:
type: integer
example: 123
email:
type: string
example: username@domain.com
description: >-
An assignment object that associates a user to a workflow stage
template.
Job:
type: object
properties:
name:
type: string
description: A name for the job.
example: My New Job
creationStatus:
type: string
description: >-
Status of job creation process that includes PENDING, COMPLETE, and
FAILED.
example: COMPLETE
deliveredAt:
type: string
format: date-time
example: '2021-06-03T13:43:00Z'
status:
type: string
description: Current status of job that includes archived, delivered, and active.
example: active
due:
type: string
description: An ISO string date.
format: date-time
example: '2021-06-03T13:43:00Z'
id:
type: integer
description: An id for the job.
example: 241
isProcessing:
type: integer
description: >-
Values include `1` while in progress, `0` when idle and `-2` when
processing failed.
example: 0
stats:
$ref: '#/components/schemas/JobStats'
domains:
type: array
description: >-
Domains associated with this Job. Returned on the `GET
/v2/jobs/{jobId}` response so callers can drive domain-specific
behaviour (e.g. quality thresholds) without falling back to
BigQuery.
items:
$ref: '#/components/schemas/JobDomain'
description: >
A Job is a collection of multiple Projects. Each project is specific to
a language pair, and is associated with exactly one Memory for that
language pair. The Memory association cannot be changed after the
Project is created.
JobStats:
type: object
properties:
exactWords:
type: integer
description: Total number of exact words.
example: 0
fuzzyWords:
type: integer
description: Total number of fuzzy words.
example: 0
newWords:
type: integer
description: Total number of fuzzy words.
example: 0
numDeliveredProjects:
type: integer
description: Total number of delivered projects.
example: 0
numLanguagePairs:
type: integer
description: Total number of delivered projects.
example: 0
numProjects:
type: integer
description: Total number of projects.
example: 0
percentReviewed:
type: integer
description: Overall percentage of documents reviewed.
example: 0
percentTranslated:
type: integer
description: Overall percentage of documents translated.
example: 0
projects:
type: array
items:
$ref: '#/components/schemas/JobProject'
sourceWords:
type: integer
description: Total number of source words.
example: 0
uniqueLanguagePairs:
type: integer
description: Number of unique language pairs.
example: 1
uniqueLinguists:
type: integer
description: Number of unique linguists.
example: 1
workflowStatus:
type: string
description: The status of the Workflow for the current job.
example: READY_TO_START
enum:
- READY_TO_START
- IN_PROGRESS
- DONE
description: >
A job stats shows an overview of job's statistical data including total
number of exact words, fuzzy words, language pairs, projects, etc.
JobProject:
type: object
properties:
id:
type: integer
description: An id for the project.
srcLang:
type: string
description: Source language, an ISO 639-1 language identifier.
example: en
srcLocale:
type: string
description: A locale identifier, supported for source language.
example: US
trgLang:
type: string
description: Target language, an ISO 639-1 language identifier.
example: fr
trgLocale:
type: string
description: A locale identifier, supported for target language.
example: CA
name:
type: string
description: A name for the project.
example: My new project
due:
type: string
description: An ISO date.
example: '2021-10-03T13:43:00.000Z'
isComplete:
type: boolean
description: A state that checks project was completed.
example: false
isArchived:
type: boolean
description: The archived state of the project.
example: false
state:
type: string
description: >-
Current state of the project. Example, backlog, inProgress,
inReview, done.
example: inProgress
numSourceTokens:
type: integer
description: Total number of source tokens.
example: 2134
createdAt:
type: string
description: Time at which the object was created.
example: '2021-04-01T13:43:00.000Z'
updatedAt:
type: string
description: Time at which the object was updated.
example: '2021-06-03T13:43:00.000Z'
isDeleted:
type: boolean
description: A state that checks project was deleted.
example: false
memoryId:
type: integer
description: A unique number identifying the associated Memory.
example: 2134
workflowStatus:
type: string
description: The status of the Workflow for the current project.
example: READY_TO_START
enum:
- READY_TO_START
- IN_PROGRESS
- DONE
workflowName:
type: string
description: >-
Human readable name of the workflow associated with the current
project.
example: Translate > Review > Analyst Review
description: >
A job project contains project statistical data that belongs to a
specific job.
JobLeverageStats:
type: object
properties:
sourceWords:
type: integer
description: Total number of source words.
example: 0
exactWords:
type: integer
description: Total number of exact words.
example: 0
fuzzyWords:
type: integer
description: Total number of fuzzy words.
example: 0
newWords:
type: integer
description: Total number of new words.
example: 0
projects:
type: array
items:
$ref: '#/components/schemas/ProjectStats'
description: |
A job leverage stats object shows an overview of job's statistical data
including total number of exact words, fuzzy words, and exact words for
the job in total and for each project.
LanguagePair:
required:
- memoryId
- trgLang
type: object
properties:
trgLang:
type: string
description: Target language, an ISO 639-1 language identifier.
example: de
trgLocale:
type: string
description: A locale identifier, supported for target language.
example: DE
dueDate:
type: string
description: An ISO date.
example: '2021-10-03T13:43:00.000Z'
memoryId:
type: integer
description: A unique number identifying the associated Memory.
example: 1241
externalModelId:
type: integer
description: >-
An optional parameter to specify a third-party model ID to use for
translation. This allows you to use external MT providers instead of
Lilt's built-in MT system.
example: 44
pretranslate:
type: boolean
description: >-
Attribute translation authorship of exact matches to the creator of
the document being pretranslated.
autoAccept:
type: boolean
description: Accept and lock exact matches.
example: true
caseSensitive:
type: boolean
description: Use case sensitive translation memory matching.
takeMatchAttribution:
type: boolean
description: Use MT for unmatched segments.
example: true
configId:
type: integer
description: Configuration id
example: 2332
workflowTemplateId:
type: integer
description: >-
Workflow Template id, to assign a specific Workflow to the project
created out of this Language Pair. WorkflowTemplateIds can be
retrieved via the /workflows/templates endpoint. If not specified
then the Job level workflowTemplateId will be used.
example: 14
workflowTemplateName:
type: integer
description: >-
Workflow Template Name, when passed with TeamId it allows for an on
the fly look up of the correct WorkflowTemplate to use. If
workflowTemplateId is passed the workflowTemplateId supercedes other
lookups.
workflowStageAssignments:
type: array
items:
$ref: '#/components/schemas/WorkflowStageAssignment'
description: >
A language pair couples the source and target language along with memory
and pre-translations settings associated to a project.
ProjectStats:
required:
- exactWords
- fuzzyWords
- id
- newWords
- sourceWords
type: object
properties:
id:
type: integer
example: 1
sourceWords:
type: integer
example: 1000
exactWords:
type: integer
example: 800
fuzzyWords:
type: integer
example: 150
newWords:
type: integer
example: 50
Project:
type: object
properties:
id:
type: integer
description: A unique number identifying the Project.
example: 448
memory_id:
type: integer
description: A unique number identifying the associated Memory.
example: 1234
job_id:
type: integer
description: A unique number identifying the associated Job.
example: 1234
srclang:
type: string
description: An ISO 639-1 language identifier.
example: en
trglang:
type: string
description: An ISO 639-1 language identifier.
example: fr
srclocale:
type: string
description: A locale identifier, supported for srclang.
example: US
trglocale:
type: string
description: A locale identifier, supported for trglang.
example: FR
name:
type: string
description: A name for the project.
example: My New Project
state:
type: string
description: >-
The project's state. The possible states are `backlog`,
`inProgress`, `inReview`, `inQA`, and `done`.
example: backlog
due_date:
type: integer
description: The due date. Measured in seconds since the Unix epoch.
example: 1489147692
archived:
type: boolean
description: The archived state of the Project.
example: false
metadata:
type: object
properties: {}
description: >-
A JSON object of key/value string pairs. Stores custom project
information.
example:
connectorType: github
notes: example metadata
sample_review_percentage:
type: integer
description: The project's sample review percentage.
example: 20
created_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
updated_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
workflowStatus:
type: string
description: >-
The status of the Workflow for the current project. This may not be
present for all project endpoints even with workflows enabled.
example: READY_TO_START
enum:
- READY_TO_START
- IN_PROGRESS
- DONE
document:
type: array
description: A list of Documents.
items:
$ref: '#/components/schemas/DocumentWithoutSegments'
description: >
A Project is a collection of zero or more Documents. It is specific to a
language pair, and is associated with exactly one Memory for that
language pair. The Memory association cannot be changed after the
Project is created.
DocumentWithoutSegments:
type: object
properties:
id:
type: integer
description: A unique number identifying the Document.
example: 46530
project_id:
type: integer
description: A unique number identifying the Project.
example: 287
srclang:
type: string
description: An ISO 639-1 language identifier.
example: en
trglang:
type: string
description: An ISO 639-1 language identifier.
example: de
name:
type: string
description: The document name.
example: Introduction.xliff
import_in_progress:
type: boolean
description: True if the document is currently being imported
example: false
import_succeeded:
type: boolean
description: True if the import process succeeded.
example: false
import_error_message:
type: string
description: Error message if `import_succeeded=false`
example: Could not parse XML.
export_in_progress:
type: boolean
description: True if the document is currently being exported for download
example: false
export_succeeded:
type: boolean
description: True if the export process succeeded.
example: false
export_error_message:
type: string
description: Error message if `export_succeeded=false`
example: Could not parse XML.
is_pretranslating:
type: boolean
description: True if the document is currently being pretranslated.
example: false
status:
type: object
properties:
pretranslation:
type: string
description: ''
example: idle
enum:
- idle
- pending
- running
description: A list of translations for the query term.
example:
pretranslation: idle
translator_email:
type: string
description: The email of the assigned translator.
example: translator@example.com
reviewer_email:
type: string
description: The email of the assigned reviewer.
example: reviewer@example.com
customer_reviewer_email:
type: string
description: >-
The email of the assigned customer reviewer. Only present if the
project was request by id.
example: reviewer@example.com
created_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
updated_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
is_review_complete:
type: boolean
description: Document review status.
example: true
description: |
A Document is a collection of zero or more Segments.
DocumentWithSegments:
type: object
properties:
id:
type: integer
description: A unique number identifying the Document.
example: 46530
project_id:
type: integer
description: A unique number identifying the Project.
example: 287
srclang:
type: string
description: An ISO 639-1 language identifier.
example: en
trglang:
type: string
description: An ISO 639-1 language identifier.
example: de
name:
type: string
description: The document name.
example: Introduction.xliff
import_in_progress:
type: boolean
description: True if the document is currently being imported
example: false
import_succeeded:
type: boolean
description: True if the import process succeeded.
example: false
import_error_message:
type: string
description: Error message if `import_succeeded=false`
example: Could not parse XML.
export_in_progress:
type: boolean
description: True if the document is currently being exported for download
example: false
export_succeeded:
type: boolean
description: True if the export process succeeded.
example: false
export_error_message:
type: string
description: Error message if `export_succeeded=false`
example: Could not parse XML.
is_pretranslating:
type: boolean
description: True if the document is currently being pretranslated.
example: false
status:
type: object
properties:
pretranslation:
type: string
description: ''
example: idle
enum:
- idle
- pending
- running
description: A list of translations for the query term.
example:
pretranslation: idle
translator_email:
type: string
description: The email of the assigned translator.
example: translator@example.com
reviewer_email:
type: string
description: The email of the assigned reviewer.
example: reviewer@example.com
created_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
updated_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
is_review_complete:
type: boolean
description: Document review status.
example: true
segments:
type: array
description: A list of Segments.
items:
$ref: '#/components/schemas/Segment'
description: |
A Document is a collection of zero or more Segments.
Segment:
type: object
properties:
id:
type: integer
format: int64
description: A unique number identifying the Segment.
example: 84480010
created_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
updated_at:
type: integer
description: >-
Time at which the object was created. Measured in seconds since the
Unix epoch.
example: 1489147692
document_id:
type: integer
description: A unique Document identifier.
example: 1234
memory_id:
type: integer
description: The Memory with which this Segment is associated.
example: 5678
source:
type: string
description: The source string.
example: The red bus.
srclang:
type: string
description: An ISO 639-1 language code.
example: en
target:
type: string
description: The target string.
example: Le bus rouge.
trglang:
type: string
description: An ISO 639-1 language code.
example: fr
is_confirmed:
type: boolean
description: The confirmation status.
example: true
is_reviewed:
type: boolean
description: The review status.
example: true
description: >
A Segment is a source string and, optionally, its translation. A Segment
can be associated with both a Memory and a Document. The Segment object
contains additional metadata about the source and target strings.
SourceFile:
type: object
properties:
id:
type: integer
description: A unique number identifying the SourceFile.
example: 46530
name:
type: string
description: The file name.
example: en_US.json
file_hash:
type: string
description: >-
A unique hash value associated with the file. An MD5 hash of the
file content will be used by default.
example: 3858f62230ac3c915f300c664312c63f
detected_lang:
type: string
description: Language associated with the file.
example: de
detected_lang_confidence:
type: number
description: Confidence score for the language associated with the file.
example: 0.7
category:
type: string
description: >-
The category of the file. The options are `REFERENCE`, or `API`. The
default is API. Files with the `REFERENCE` category will be
displayed as reference material.
example: REFERENCE
labels:
type: array
description: The list of labels associated with the file.
example: []
items:
type: string
created_at:
type: string
description: Time at which the object was created.
format: date-time
example: '2019-10-16T22:12:34Z'
updated_at:
type: string
description: Time at which the object was created.
format: date-time
example: '2019-10-16T22:12:34Z'
description: >-
A SourceFile is an unprocessed source file that can later be added to a
project.
webhook_response:
type: object
properties:
id:
type: integer
description: The unique identifier for the webhook configuration.
example: 12345
webhookName:
type: string
description: The name of the webhook configuration.
webhookUrl:
type: string
format: uri
description: The URL to which the webhook notifications will be sent.
eventType:
type: array
items:
type: string
enum:
- JOB_DELIVER
- JOB_UPDATE
- PROJECT_DELIVER
- PROJECT_UPDATE
- INSTANT_TRANSLATE_COMPLETED
- INSTANT_TRANSLATE_FAILED
description: The list of event types that will trigger the webhook notification.
required:
- id
- webhookName
- webhookUrl
- eventType
create_webhook_options:
type: object
properties:
webhookName:
type: string
description: The name of the webhook configuration.
webhookUrl:
type: string
format: uri
description: The URL to which the webhook notifications will be sent.
eventType:
type: array
items:
type: string
enum:
- JOB_DELIVER
- JOB_UPDATE
- PROJECT_DELIVER
- PROJECT_UPDATE
- INSTANT_TRANSLATE_COMPLETED
- INSTANT_TRANSLATE_FAILED
description: The list of event types that will trigger the webhook notification.
required:
- webhookName
- webhookUrl
- eventType
Domain:
type: object
properties:
domainId:
type: integer
format: int32
description: The unique identifier for the domain.
example: 123
domainName:
type: string
description: The name of the domain.
example: Example Domain
models:
type: array
items:
$ref: '#/components/schemas/Model'
description: The models associated with the domain.
example:
- id: 456
name: Example Model
provider: Google Translate
status: Active
srcLang: en
trgLang: es
srcLocale: US
trgLocale: ES
filterConfigs:
type: array
items:
$ref: '#/components/schemas/FilterConfig'
description: The filter configurations associated with the domain.
example:
- id: 789
isDefault: true
filterConfig: Example Filter Config
filterName: Example Filter
configName: Example Config Name
configDescription: Example Config Description
subfilters: '{}'
segmentationConfigSetting: SENTENCE
srx: Example SRX
segmentationConfigName: Example Segmentation Config
domains:
- id: 101
name: Example Domain Ref
createdAt: '2024-01-01T00:00:00Z'
updatedAt: '2024-01-02T00:00:00Z'
default: true
domainMetadata:
type: array
items:
$ref: '#/components/schemas/DomainMetadata'
description: Metadata associated with the domain.
example:
- id: 131
key: Example Key
value: Example Value
required:
- domainId
- domainName
- models
- filterConfigs
- domainMetadata
DomainList:
type: object
properties:
items:
type: array
description: The list of domains in the response.
items:
$ref: '#/components/schemas/Domain'
example:
- domainId: 123
domainName: Example Domain
models:
- id: 456
name: Example Model
provider: Google Translate
status: Active
srcLang: en
trgLang: es
srcLocale: US
trgLocale: ES
filterConfigs:
- id: 789
isDefault: true
filterConfig: Example Filter Config
filterName: Example Filter
configName: Example Config Name
configDescription: Example Config Description
subfilters: Example Subfilters
segmentationConfigSetting: SENTENCE
srx: Example SRX
segmentationConfigName: Example Segmentation Config
domains:
- id: 101
name: Example Domain Ref
createdAt: '2024-01-01T00:00:00Z'
updatedAt: '2024-01-02T00:00:00Z'
default: true
domainMetadata:
- id: 131
key: Example Key
value: Example Value
size:
type: integer
description: The total number of domains in the list.
format: int32
example: 1
required:
- items
- size
Model:
type: object
properties:
id:
type: integer
format: int32
description: The unique identifier for the model.
example: 456
name:
type: string
description: The name of the model.
example: Example Model
provider:
type: string
description: The provider of the model.
example: Google Translate
status:
type: string
description: The status of the model.
example: Active
srcLang:
type: string
description: The source language of the model.
example: en
trgLang:
type: string
description: The target language of the model.
example: es
srcLocale:
type: string
description: The source locale of the model.
example: en-US
trgLocale:
type: string
description: The target locale of the model.
example: es-ES
FilterConfig:
type: object
properties:
id:
type: integer
format: int32
description: The unique identifier for the filter configuration.
example: 789
isDefault:
type: boolean
description: Indicates if the filter configuration is the default.
example: true
filterConfig:
type: string
description: The filter configuration.
example: Example Filter Config
filterName:
type: string
description: The name of the filter.
example: Example Filter
configName:
type: string
description: The name of the configuration.
example: Example Config Name
configDescription:
type: string
description: The description of the configuration.
example: Example Config Description
subfilters:
type: string
description: The subfilters.
example: Example Subfilters
segmentationConfigSetting:
type: string
description: The segmentation configuration setting.
enum:
- SENTENCE
example: SENTENCE
srx:
type: string
description: The SRX (Segmentation Rules eXchange) data.
example: Example SRX
segmentationConfigName:
type: string
description: The name of the segmentation configuration.
example: Example Segmentation Config
domains:
type: array
items:
$ref: '#/components/schemas/DomainReference'
description: The domains associated with the filter configuration.
example:
- id: 101
name: Example Domain Ref
createdAt:
type: string
format: date-time
description: The creation timestamp.
example: '2024-01-01T00:00:00Z'
updatedAt:
type: string
format: date-time
description: The last update timestamp.
example: '2024-01-02T00:00:00Z'
default:
type: boolean
description: Indicates if the filter configuration is the default.
example: true
DomainMetadata:
type: object
properties:
id:
type: integer
format: int32
description: The unique identifier for the metadata.
example: 131
key:
type: string
description: The key of the metadata.
example: Example Key
value:
type: string
description: The value of the metadata.
example: Example Value
DomainReference:
type: object
properties:
id:
type: integer
format: int32
description: The unique identifier for the domain.
example: 101
name:
type: string
description: The name of the domain.
example: Example Domain Ref
JobDomain:
type: object
description: A domain assigned to a Job.
properties:
id:
type: integer
description: A unique number identifying the Domain.
example: 12
name:
type: string
description: The Domain name.
example: Marketing
required:
- id
- name
responses:
UnauthorizedError:
description: Unauthorized
content:
application/octet-stream:
schema:
type: string
text/plain:
schema:
type: string