Info |
---|
This documentation is not final. New endpoints will continue to be published from time to time. |
...
The following parameters are required (and should never be hardcoded) to make requests:
Parameter | Usage |
Globalese base URL | Your Globalese instance URL, e.g. Requests must be sent to this base URL + |
API key | Must be sent in the request header as A valid API key can be:
|
Endpoints
Open api | ||||||
---|---|---|---|---|---|---|
| ||||||
openapi: 3.0.2 servers: [] info: title: Globalese version: 3 description: Globalese API v3 tags: - name: Corpora - name: Engines - name: Engine instances - name: Groups - name: Languages - name: Projects - name: Project files - name: Segment translation dispatchers - name: Training jobs - name: Translation jobs paths: /corpora: get: tags: - Corpora security: - bearer: [ ] summary: List corpora description: Returns a collection of corpora. parameters: - $ref: '#/components/parameters/stringIds' - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/sourceLanguage' - $ref: '#/components/parameters/targetLanguage' - $ref: '#/components/parameters/groupIds' - $ref: '#/components/parameters/engineId' - $ref: '#/components/parameters/metadataDomain' - $ref: '#/components/parameters/metadataSubject' - $ref: '#/components/parameters/metadataClient' - $ref: '#/components/parameters/metadataProject' - $ref: '#/components/parameters/metadataDescription' - $ref: '#/components/parameters/corpusCatServerId' - name: name in: query description: Full or partial corpus name for filtering. schema: type: string - name: sort in: query schema: type: string enum: - name:asc - name:desc - counts.segment_count:asc - counts.segment_count:desc responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/CorpusCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Corpora security: - bearer: [ ] summary: Upload a new corpus description: | The `source_language` and `target_language` are required for these formats: * `csv-comma` * `csv-memoq` * `csv-semicolon` * `tsv` Only a single file may be uploaded in one request. Maximum file size: 600 MB. A file can be uploaded as a zip archive. The zip archive may only contain one file, and the file format must be provided in the `format` field. The `Content-Disposition` header must contain the `filename` directive. This is taken care of by most libraries in general. E.g. `Content-Disposition: form-data; name="Example TM"; filename="example.xliff"` Required permissions: `MANAGE_CORPORA` in all the groups the corpus is uploaded to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateCorpus' responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/Corpus' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' /corpora/{corpusId}: parameters: - $ref: '#/components/parameters/corpusIdInPath' get: tags: - Corpora security: - bearer: [ ] summary: Show the details of a corpus description: | Returns a single corpus. Required permissions: `MANAGE_CORPORA` in any of the groupgroups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Corpus' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' patch: tags: - Corpora security: - bearer: [ ] summary: Update a corpus description: | Required permissions: `MANAGE_CORPORA` in all the groups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/UpdateCorpus' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Corpus' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' delete: tags: - Corpora security: - bearer: [ ] summary: Delete a corpus description: | Delete a corpus. Required permissions: `MANAGE_CORPORA` in all the groups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` responses: 204: $ref: '#/components/responses/204NoContent' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /corpora/{corpusId}/content: parameters: - $ref: '#/components/parameters/corpusIdInPath' get: tags: - Corpora security: - bearer: [ ] summary: Corpus content description: | Returns segments of a corpus. Required permissions: `MANAGE_CORPORA` in any of the groupgroups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` parameters: - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/CorpusContent' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /corpora/{corpusId}/events: parameters: - $ref: '#/components/parameters/corpusIdInPath' get: tags: - Corpora security: - bearer: [ ] summary: Show the event log of a corpus description: | Returns a list of events from the corpus log. Required permissions: `MANAGE_CORPORA` in any of the groupgroups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` parameters: - name: sort in: query schema: type: string enum: - timestamp:asc - timestamp:desc - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/CorpusEventCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /corpora/{corpusId}/versions: parameters: - $ref: '#/components/parameters/corpusIdInPath' get: tags: - Corpora security: - bearer: [ ] summary: List all versions of a corpus description: | Returns details about each version of a corpus: * corpus counts * engine IDs that used the currentcorpus corpusversion for training * engineRequired IDspermissions: that used the current corpus for tuning Required permissions:`MANAGE_CORPORA` or `MANAGE_CORPORA`ENGINES` in any of the groupgroups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` parameters: - name: sort in: query schema: type: string enum: - counts.segment_count:asc - counts.segment_count:desc - version:asc - version:desc - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/CorpusVersionCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Corpora security: - bearer: [ ] summary: Update corpus content description: | Update the contents of a corpus, creating a new version thereof. The format of the uploaded content must be the same as the format of the original content. The language codes of the uploaded content must be the same as the original ones. Required permissions: `MANAGE_CORPORA` in any of the groupgroups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/UpdateCorpusContent' responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/CorpusVersion' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /engines: get: tags: - Engines security: - bearer: [ ] summary: List engines description: | Returns a collection of engines. A translation API key can also be used for authentication. parameters: - $ref: '#/components/parameters/limitMax100numericalIds' - $ref: '#/components/parameters/offsetlimitMax100' - $ref: '#/components/parameters/sourceLanguageoffset' - $ref: '#/components/parameters/targetLanguagesourceLanguage' - $ref: '#/components/parameters/groupIdstargetLanguage' - name$ref: sort'#/components/parameters/engineStatuses' - in$ref: query'#/components/parameters/groupIds' - schemaname: name typein: stringquery description: Full enum:or partial engine name for filtering. - nameschema:asc type: string - name:desc - responsesname: sort 200in: query descriptionschema: OK contenttype: string application/json enum: schema- name:asc - $refname: '#/components/schemas/EngineCollection'desc 401: - $ref: '#/components/responses/401Unauthorized' 500status:asc - status:desc responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/EngineCollection' 401: $ref: '#/components/responses/401Unauthorized' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Engines security: - bearer: [ ] summary: Create a new engine description: | Restrictions: * Using stock corpora and stock engines are mutually exclusive options. * Stock+ engines (i.e. engines based on a stock engine) can only have core corpora. Required permissions: `MANAGE_ENGINES` in the group the engine belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateEngine' responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/Engine' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 402: description: | Maximum number of allowed engines reached. Only applies to legacy subscriptions. 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' 502: $ref: '#/components/responses/502BadGateway' /engines/{engineId}: parameters: - $ref: '#/components/parameters/engineIdInPath' get: tags: - Engines security: - bearer: [ ] summary: Show the details of an engine description: | Returns a single engine. Required permissions: `MANAGE_ENGINES`, `MANAGE_PROJECTS` or `TRANSLATE` in the group the engine belongs to, or `SYSTEM_ADMINISTRATOR` A translation API key can also be used for authentication. responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Engine' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' patch: tags: - Engines security: - bearer: [ ] summary: Update an engine description: | Required permissions: `MANAGE_ENGINES` in the group the engine belongs to, or `SYSTEM_ADMINISTRATOR` The `published` property can only be changed if the engine has been trained or tuned before. requestBody: $ref: '#/components/requestBodies/UpdateEngine' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Engine' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' delete: tags: - Engines security: - bearer: [ ] summary: Delete an engine description: | Delete an engine. Required permissions: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` responses: 204: $ref: '#/components/responses/204NoContent' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /engines/{engineId}/events: parameters: - $ref: '#/components/parameters/engineIdInPath' get: tags: - Engines security: - bearer: [ ] summary: Show the event log of an engine description: | Returns a list of events from the engine log. Required permissions: `MANAGE_ENGINES` in the group the engine belongs to, or `SYSTEM_ADMINISTRATOR` parameters: - name: sort in: query schema: type: string enum: - timestamp:asc - timestamp:desc - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/EngineEventCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /engines/{engineId}/resources: parameters: - $ref: '#/components/parameters/engineIdInPath' get: tags: - Engines security: - bearer: [ ] summary: Show the resources of an engine description: | Returns the resources of a single engine. Required permissions: `MANAGE_ENGINES` or `MANAGE_PROJECTS` in the group the engine belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/EngineResources' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /engine-instances: get: tags: - Engine instances security: - bearer: [ ] summary: List engine instances description: | Returns a collection of engine instances (being) deployed. Required permissions: `MANAGE_ENGINES|TRANSLATE|SYSTEM_ADMINISTRATOR` A translation API key can also be used for authentication. parameters: - $ref: '#/components/parameters/numericalIds' - $ref: '#/components/parameters/engineIds' - $ref: '#/components/parameters/groupIds' - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/EngineInstanceCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Engine instances security: - bearer: [ ] summary: Create a new engine instance description: | Starts deploying an engine in the background. Required permissions: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateEngineInstance' responses: 202: description: The newly created engine instance entity in the database. content: application/json: schema: $ref: '#/components/schemas/EngineInstance' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' /engine-instances/{id}: parameters: - name: id description: Engine instance ID in: path required: true schema: type: integer get: tags: - Engine instances security: - bearer: [ ] summary: Show the details of an engine instance description: | Returns a single engine instance. Required permissions: `MANAGE_ENGINES|TRANSLATE|SYSTEM_ADMINISTRATOR` A translation API key can also be used for authentication. responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/EngineInstance' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' 502: $ref: '#/components/responses/502BadGateway' delete: tags: - Engine instances security: - bearer: [ ] summary: Delete an engine instance description: | Removes a deployed engine instance. Required permissions: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` responses: 204: $ref: '#/components/responses/204NoContent' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' 502: $ref: '#/components/responses/502BadGateway' /groups: get: tags: - Groups security: - bearer: [ ] summary: List groups description: Returns a collection of groups the authenticated user is a member of. parameters: - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' - name: sort in: query schema: type: string enum: - name:asc - name:desc responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/GroupCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' /jobs/training: get: tags: - Training jobs summary: List training jobs description: | Required permission: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` security: - bearer: [ ] parameters: - $ref: '#/components/parameters/engineIds' - $ref: '#/components/parameters/groupIds' - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' - name: sort in: query schema: type: string enum: - timestamps.created_at:asc - timestamps.created_at:desc responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/TrainingJobCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Training jobs security: - bearer: [ ] summary: Create a training job description: | Required permission: `MANAGE_ENGINES` in the group the engine belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateTrainingJob' responses: 201: description: Training job created content: application/json: schema: $ref: '#/components/schemas/TrainingJob' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 402: description: License does not allow new training jobs to be created 403: $ref: '#/components/responses/403Forbidden' 409: description: Engine is already being trained 500: $ref: '#/components/responses/500InternalServerError' 502: $ref: '#/components/responses/502BadGateway' 504: $ref: '#/components/responses/504GatewayTimeout' /jobs/training/{id}: parameters: - name: id description: Training job ID in: path required: true schema: type: integer get: tags: - Training jobs security: - bearer: [] summary: Show the details of a training job description: | Required permission: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/TrainingJob' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /jobs/translation: get: tags: - Translation jobs summary: List translation jobs description: | Required permission: `MANAGE_PROJECTS|SYSTEM_ADMINISTRATOR` security: - bearer: [ ] parameters: - $ref: '#/components/parameters/fileIds' - $ref: '#/components/parameters/groupIds' - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' - name: sort in: query schema: type: string enum: - timestamps.created_at:asc - timestamps.created_at:desc responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/TranslationJobCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Translation jobs security: - bearer: [ ] summary: Create a translation job description: | Required permission: `MANAGE_PROJECTS` in the group the file (and project) belongs to, or `SYSTEM_ADMINISTRATOR` If the engine is not published, it can be used for document translation only by users with at least one of the following permissions: - `MANAGE_ENGINES` for the group the engine belongs to - `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateTranslationJob' responses: 201: description: Translation job created content: application/json: schema: $ref: '#/components/schemas/TranslationJob' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 402: description: License does not allow new translation jobs to be created 403: $ref: '#/components/responses/403Forbidden' 409: description: File is already being translated 500: $ref: '#/components/responses/500InternalServerError' 502: $ref: '#/components/responses/502BadGateway' 504: $ref: '#/components/responses/504GatewayTimeout' /jobs/translation/{id}: parameters: - name: id description: Translation job ID in: path required: true schema: type: integer get: tags: - Translation jobs security: - bearer: [] summary: Show the details of a translation job description: | Required permission: `MANAGE_PROJECTS|SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/TranslationJob' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /languages: get: tags: - Languages security: - bearer: [ ] summary: List languages description: | Returns a collection of languages used in Globalese. A translation API key can also be used for authentication. parameters: - $ref: '#/components/parameters/languageUsage' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/LanguageCollection' 401: $ref: '#/components/responses/401Unauthorized' 500: $ref: '#/components/responses/500InternalServerError' /projects: post: tags: - Projects security: - bearer: [ ] summary: Create a new project description: | One of either `engine_id` or `stock_engine_uuid` is required. Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` Required permissions to set engine version: `MANAGE_ENGINES` and `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateProject' responses: 201: description: Project created content: application/json: schema: $ref: '#/components/schemas/Project' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' /projects/{projectId}: parameters: - $ref: '#/components/parameters/projectIdInPath' get: tags: - Projects security: - bearer: [ ] summary: Show the details of a project description: | Returns a single project. Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Project' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' patch: tags: - Projects security: - bearer: [ ] summary: Update a project description: | Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` Required permissions to change engine version: `MANAGE_ENGINES` and `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/UpdateProject' responses: 200: description: Project updated content: application/json: schema: $ref: '#/components/schemas/Project' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' delete: tags: - Projects security: - bearer: [ ] summary: Delete a project description: | Deletes a project as well as all the project files contained within. Required permission: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` responses: 204: $ref: '#/components/responses/204NoContent' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /projects/{projectId}/files: parameters: - $ref: '#/components/parameters/projectIdInPath' get: tags: - Project files security: - bearer: [ ] summary: List project files description: | Returns a collection of project files. Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` parameters: - $ref: '#/components/parameters/stringIds' - $ref: '#/components/parameters/fileStatuses' - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' - name: sort in: query schema: type: string enum: - name:asc - name:desc - latest_events.translation_finished.timestamp:asc - latest_events.translation_finished.timestamp:desc responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/FileCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' post: tags: - Project files security: - bearer: [ ] summary: Upload new project files description: | Only one file can be uploaded at the same time. A file can be uploaded as a ZIP. The ZIP may contain more files, but the formats of these files must be the same. The HTTP Content-Disposition header must contain the `filename` directive. Most often it happens automatically. E.g. `Content-Disposition: form-data; name="file"; filename="example.xliff"` Required permissions: `MANAGE_PROJECTS` in the groups the project belongs to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateFile' responses: 201: description: OK content: application/json: schema: type: object required: - files properties: files: type: array items: $ref: '#/components/schemas/File' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /projects/{projectId}/files/{fileId}: parameters: - $ref: '#/components/parameters/projectIdInPath' - $ref: '#/components/parameters/fileIdInPath' get: tags: - Project files security: - bearer: [ ] summary: Show the details of a project file description: | Returns a single project file. Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/File' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' delete: tags: - Project files security: - bearer: [ ] summary: Delete a project file description: | Delete a project file. Required permission: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` responses: 204: $ref: '#/components/responses/204NoContent' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /projects/{projectId}/translated-files: parameters: - $ref: '#/components/parameters/projectIdInPath' - name: files in: query schema: type: string description: | One or more file IDs to include in the downloaded zip file. Examples: `5b04a7263fa509.a4444794`, `5b04a7263fa509.a4444794,5b0412363fa5c1.a4354792` get: tags: - Project files security: - bearer: [ ] summary: Download translated project files description: | Returns a zip file containing all or the specified translated files. Untranslated files are not returned, even if their IDs are specified in the request. Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: $ref: '#/components/responses/200OctetStream' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /projects/{projectId}/files/{fileId}/translated-file: parameters: - $ref: '#/components/parameters/projectIdInPath' - $ref: '#/components/parameters/fileIdInPath' get: tags: - Project files security: - bearer: [ ] summary: Download a translated project file description: | Required permissions: `MANAGE_PROJECTS` in the group the project belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/octet-stream: schema: type: string example: >- <?xml version='1.0'?><xliff>[file content]</xliff> 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /segment-translation-dispatchers: get: tags: - Segment translation dispatchers security: - bearer: [ ] summary: List segment translation dispatchers description: | Required permissions: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/RemoteDispatcherCollection' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' 502: $ref: '#/components/responses/502BadGateway' components: parameters: corpusCatServerId: name: cat.server.id in: query description: | The ID of the CAT server the corpus is associated with. schema: type: number example: 10 corpusIdInPath: name: corpusId description: Corpus ID in: path required: true schema: type: string example: 5b04a7263fa509.a4444794 engineId: name: engine_id in: query description: | Engine ID for filtering. Examples: `1`, `2` schema: $ref: '#/components/schemas/engineId' engineIdInPath: name: engineId in: path required: true schema: type: integer example: 5 engineIds: name: engine_ids in: query description: | One or more engine ID(s) for filtering, comma-separated. Examples: `1`, `1,3,5` schema: oneOf: - type: integer - type: string engineStatuses: name: statuses in: query description: | One or more engine statuses for filtering, comma-separated. Examples: `trained`, `queued,training` schema: type: string enum: - changed - error - queued - trained - training - tuned - tuning - untrained fileIdInPath: name: fileId description: Project file ID in: path required: true schema: type: string example: 5b04a7263fa509.a4444794 fileIds: name: file_ids in: query description: | One or more file ID(s) for filtering, comma-separated. Examples: `5b04a7263fa509.a4444794`, `5b04a7263fa509.a4444794,5b04a7199fa509.a4444401` schema: - type: string fileStatuses: name: statuses in: query description: | One or more file statuses for filtering, comma-separated. Examples: `new`, `translating,translated` schema: type: string enum: - empty - new - queued - translated - translating groupIds: name: group_ids in: query description: | One or more group ID(s) for filtering, comma-separated. Examples: `1`, `1,3,5` schema: oneOf: - type: integer - type: string style: form explode: false languageUsage: name: usage in: query description: | Filter for languages used in Globalese. Optionally, the `:source` or `:target` modifier may be appended to the parameter value to filter for languages used on the source or target language side only. `usage=engines:source` will return a list of languages used as engine source languages. `usage=engines` will return a list of languages used as engine languages, either source or target. schema: type: string enum: - engines limit: name: limit in: query description: | Limit for results. *May* be used together with `offset`. Examples: `25`, `50` schema: type: integer limitMax100: name: limit in: query description: | Limit for results. It cannot be greater than 100. *May* be used together with `offset`. Examples: `25`, `50` If not provided, it will automatically be set to 100. schema: type: integer example: 25 metadataClient: name: metadata.client in: query description: | Client metadata descriptor. Examples: `Very Important Client` schema: type: string metadataDescription: name: metadata.description in: query description: | Description metadata descriptor. Examples: `used for 2018 campaign` schema: type: string metadataDomain: name: metadata.domain in: query description: | Domain metadata descriptor. Examples: `legal` schema: type: string metadataProject: name: metadata.project in: query description: | Project metadata descriptor. Examples: `0192 EC Project` schema: type: string metadataSubject: name: metadata.subject in: query description: | Subject metadata descriptor. Examples: `EU treaties` schema: type: string numericalIds: name: ids in: query description: | One or more ID(s) for filtering, comma-separated. Examples: `3`, `3,4` schema: type: string style: form explode: false offset: name: offset in: query description: | Offset to start query from. **Must** be used together with `limit`. Examples: `50`, `100` schema: type: integer example: 0 projectIdInPath: name: projectId description: Project ID in: path required: true schema: type: integer example: 5 sourceLanguage: name: source_language in: query description: | Source language. Examples: `en`, `fr` schema: type: string stringIds: name: ids in: query description: | One or more ID(s) for filtering, comma-separated. Examples: `5b04a7263fa509.a4444794`, `5b04a7263fa509.a4444794,5b0412363fa5c1.a4354792` schema: type: string style: form explode: false targetLanguage: name: target_language in: query description: | Target language. Examples: `en`, `fr` schema: type: string requestBodies: CreateCorpus: content: multipart/form-data: schema: $ref: '#/components/schemas/CreateCorpus' CreateEngine: content: application/json: schema: $ref: '#/components/schemas/CreateEngine' required: true CreateEngineInstance: required: true content: application/json: schema: type: object required: - engine_id - dispatcher_id properties: engine_id: $ref: '#/components/schemas/engineId' dispatcher_id: $ref: '#/components/schemas/dispatcherId' CreateFile: content: multipart/form-data: schema: $ref: '#/components/schemas/CreateFile' CreateProject: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProject' CreateTrainingJob: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTrainingJob' CreateTranslationJob: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTranslationJob' UpdateCorpus: content: application/json: schema: $ref: '#/components/schemas/UpdateCorpus' UpdateCorpusContent: content: multipart/form-data: schema: $ref: '#/components/schemas/UpdateCorpusContent' UpdateEngine: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateEngine' UpdateProject: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateProject' responses: 200OctetStream: description: OK content: application/octet-stream: schema: type: string format: binary 204NoContent: description: No Content 400BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' 401Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' 403Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' 404NotFound: description: Resource not found 422UnprocessableEntity: description: Unprocessable entity 500InternalServerError: description: Internal server error while processing the request content: application/json: schema: $ref: '#/components/schemas/Error' 502BadGateway: description: Bad Gateway 504GatewayTimeout: description: Gateway Timeout securitySchemes: bearer: type: http scheme: bearer description: API key schemas: catToolServerId: description: CAT tool server ID in Globalese type: integer example: 10 catToolServerType: type: string enum: - memoq - memsource - smartcat - xtm CollectionMetadata: type: object required: - counts properties: counts: type: object required: - total - filtered properties: total: description: The total number of resources in the system, irrespective of any filters. type: integer example: 100 filtered: description: The number of resources in the system matching the filters. type: integer example: 40 Corpus: type: object required: - id - actions - cat - counts - current_version - engines - format - groups - metadata - name - source_language - target_language properties: id: $ref: '#/components/schemas/corpusId' actions: $ref: '#/components/schemas/CorpusActions' cat: $ref: '#/components/schemas/CorpusCat' counts: $ref: '#/components/schemas/CorpusCounts' current_version: $ref: '#/components/schemas/corpusVersion' engine_ids: type: array items: type: integer example: [ 2, 8, 14 ] format: $ref: '#/components/schemas/corpusFormat' group_ids: $ref: '#/components/schemas/corpusGroupIds' metadata: $ref: '#/components/schemas/CorpusMetadata' name: $ref: '#/components/schemas/corpusName' source_language: $ref: '#/components/schemas/sourceLanguage' target_language: $ref: '#/components/schemas/targetLanguage' CorpusActions: type: object description: An object describing the actions possible against a corpus. required: - delete - update properties: delete: type: boolean update: type: boolean CorpusCat: type: object nullable: true description: | If the corpus was created by retrieving a CAT tool server corpus, this object contains relevant information. required: - corpus - server properties: corpus: $ref: '#/components/schemas/CorpusCatCorpus' server: $ref: '#/components/schemas/CorpusCatServer' CorpusCatCorpus: type: object required: - id properties: id: $ref: '#/components/schemas/remoteCorpusId' CorpusCatServer: type: object required: - id - type properties: id: $ref: '#/components/schemas/catToolServerId' type: $ref: '#/components/schemas/catToolServerType' CorpusCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/Corpus' meta: $ref: '#/components/schemas/CollectionMetadata' CorpusContent: type: object required: - data - meta properties: data: type: array items: type: object required: - id - content properties: id: type: string example: "1" nullable: true content: type: object required: - source - target properties: source: type: string target: type: string meta: $ref: '#/components/schemas/CollectionMetadata' CorpusCounts: type: object required: - segment_count - source_word_count - target_word_count - source_character_count - target_character_count properties: segment_count: type: integer example: 145952 source_word_count: type: integer example: 2819806 target_word_count: type: integer example: 3120176 source_character_count: type: integer example: 24235334 target_character_count: type: integer example: 29194748 CorpusEvent: allOf: - $ref: '#/components/schemas/Event' - type: object properties: resource_id: $ref: '#/components/schemas/corpusId' type: type: string enum: - uploaded - updated - new_version_uploaded CorpusEventCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/CorpusEvent' meta: $ref: '#/components/schemas/CollectionMetadata' corpusFormat: type: string enum: - csv-comma - csv-memoq - csv-semicolon - tmx - tbx - tsv - xliff - xliff-memoq - xliff-memsource - xliff-sdl - xliff-smartcat - xliff-translate5 - xliff-wordbee - xliff-xtm corpusGroupIds: type: array description: | Cannot be empty. A corpus must always be assigned to at least one group. items: type: integer example: [ 1, 3 ] corpusId: description: Corpus ID type: string example: 5a0ba1267f0571.04642701 CorpusMetadata: type: object properties: domain: type: string nullable: true example: legal subject: type: string nullable: true example: EU treaties client: type: string nullable: true example: Very Important Client project: type: string nullable: true example: 0192 EC Project description: type: string nullable: true example: created by DGT corpusName: type: string example: English to German DGT.tmx CorpusVersion: type: object required: - corpus_id - version - counts - engine_ids - timestamps properties: corpus_id: $ref: '#/components/schemas/corpusId' version: $ref: '#/components/schemas/corpusVersion' counts: $ref: '#/components/schemas/CorpusCounts' engine_ids: $ref: '#/components/schemas/CorpusVersionEngineIds' timestamps: $ref: '#/components/schemas/CorpusVersionTimestamps' corpusVersion: type: integer example: 1 CorpusVersionCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/CorpusVersion' meta: $ref: '#/components/schemas/CollectionMetadata' CorpusVersionEngineIds: type: array items: type: integer example: [ 2, 8, 14 ] CorpusVersionTimestamps: type: object required: - created_at properties: created_at: $ref: '#/components/schemas/createdAt' CreateCorpus: type: object required: - file - format - group_ids[] properties: file: type: object format: $ref: '#/components/schemas/corpusFormat' group_ids[]: $ref: '#/components/schemas/groupId' source_language: $ref: '#/components/schemas/sourceLanguage' target_language: $ref: '#/components/schemas/targetLanguage' metadata[domain]: type: string example: legal metadata[subject]: type: string example: EU treaties metadata[client]: type: string example: Very Important Client metadata[project]: type: string example: 0192 EC Project metadata[description]: type: string example: created by DGT CreateEngine: type: object required: - name - source_language - target_language - group_id - resources properties: name: type: string example: Engine 1 source_language: $ref: '#/components/schemas/sourceLanguage' target_language: $ref: '#/components/schemas/targetLanguage' group_id: $ref: '#/components/schemas/groupId' resources: $ref: '#/components/schemas/CreateEngineResources' CreateEngineResources: type: object required: - corpus_ids properties: corpus_ids: $ref: '#/components/responsesschemas/500InternalServerError'CreateEngineResourcesCorpusIds' /engine-instancesstock_corpora: get type: boolean tags description: Whether or not to use available stock - Engine instancescorpora for training the engine. securitystock_engine_uuid: - bearer: [ ]$ref: '#/components/schemas/nullableStockEngineUuid' CreateEngineResourcesCorpusIds: summarytype: List engine instances object required: description:- |core properties: Returns a collection of engine instances (being) deployed. core: Required permissionstype: `MANAGE_ENGINES|TRANSLATE|SYSTEM_ADMINISTRATOR`array A translationitems: API key can also be used for authentication. type: string parameters: - $ref: '#/components/parameters/numericalIds' example: [ '51fc7ea3fa889.b0027797', '54018363fa5c1.044227af' ] - $refauxiliary: '#/components/parameters/engineIds' - $reftype: '#/components/parameters/groupIds'array - $refitems: '#/components/parameters/limitMax100' - $reftype: '#/components/parameters/offset'string responses: example: [ '5b04a7263fa509.77444794', '5b0412363fa5c1.c4354792' ] 200: createdAt: description: Created OKtimestamp in ISO 8601 format contenttype: string application/json:example: "2017-08-30T04:34:26+00:00" CreateFile: schematype: object required: $ref: '#/components/schemas/EngineInstanceCollection'- file 401:- format $refproperties: '#/components/responses/401Unauthorized' 403file: $reftype: '#/components/responses/403Forbidden'object 500format: $ref: '#/components/responses/500InternalServerError'/schemas/fileFormat' CreateProject: posttype: object tagsrequired: - Enginename instances - security:source_language - target_language bearer: [ ] - summary:group_id Create a new engine instance properties: description: | name: Starts deploying an engine in thetype: background.string Required permissionsexample: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR`Project 1 requestBodysource_language: $ref: '#/components/requestBodiesschemas/CreateEngineInstancesourceLanguage' responses: 202target_language: description$ref: The newly created engine instance entity in the database.'#/components/schemas/targetLanguage' group_id: content$ref: '#/components/schemas/groupId' application/jsonengine_id: $ref: '#/components/schemas/nullableEngineId' schema: engine_version: $ref: '#/components/schemas/EngineInstance'nullableEngineVersion' stock_engine_id: 400allOf: - $ref: '#/components/responsesschemas/400BadRequestnullableStockEngineUuid' 401: $ref: '#/components/responses/401Unauthorized'- deprecated: true 403stock_engine_uuid: $ref: '#/components/responsesschemas/403ForbiddennullableStockEngineUuid' 500cat: $ref: '#/components/responsesschemas/500InternalServerErrorCreateProjectCat' /engine-instances/{id}:CreateProjectCat: parameterstype: object - namerequired: id - server description: Engine instance ID - project inproperties: path server: required: true schema$ref: '#/components/schemas/CreateProjectCatServer' typeproject: integer get: $ref: tags:'#/components/schemas/CreateProjectCatProject' CreateProjectCatServer: - Enginetype: instancesobject securityrequired: - bearer: [id ] summaryproperties: Show the details of an engine instance id: description: | type: integer Returns a single engine instance. description: CAT tool server connection ID Required permissions: `MANAGE_ENGINES|TRANSLATE|SYSTEM_ADMINISTRATOR` as stored in Globalese. A translation API keyexample: can2 also be used for authentication.CreateProjectCatProject: responsestype: object required: 200: - id description: OK properties: content: id: application/jsononeOf: - schematype: integer - type: string $ref: '#/components/schemas/EngineInstance' 401description: CAT tool project ID as stored on the CAT tool $ref: '#/components/responses/401Unauthorized'server. 403example: 5987c27a-da1e-4060-b08d-00aa6dbd0bba CreateTrainingJob: $ref: '#/components/responses/403Forbidden' type: object 404required: $ref: '#/components/responses/404NotFound'- engine_id - 500:mode $refproperties: '#/components/responses/500InternalServerError' 502engine_id: $ref: '#/components/responsesschemas/502BadGatewayengineId' delete: tags: - Engine instancesmode: security: type: string - bearer: [ ] enum: summary: Delete an engine instance - training description: | Removes a deployed- enginetuning instance. CreateTranslationJob: Required permissionstype: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR`object responsesrequired: 204:- file_id $refproperties: '#/components/responses/204NoContent' 400file_id: $ref: '#/components/responsesschemas/400BadRequestfileId' 401dispatcherId: description: Segment-based translation dispatcher $ref: '#/components/responses/401Unauthorized'ID type: integer 403: example: 1 $refdispatcherRegion: '#/components/responses/403Forbidden' type: string 404: example: "europe-west1" $ref: '#/components/responses/404NotFound'dispatcherUrl: 500type: string $ref: '#/components/responses/500InternalServerError' example: "https://dispatcher-europe-west1-ja6vheawuq-ew.a.run.app" 502Engine: type: object $ref: '#/components/responses/502BadGateway' /groupsrequired: get: - tags:id - Groupsactions security: - counts - bearer: [ ]- group_id summary: List groups - health description: Returns a collection of- groupsinstance_ids the authenticated user is a member of. - name parameters: - $ref: '#/components/parameters/limitMax100'published - $ref: '#/components/parameters/offset' source_language - name:status sort - stock_corpora in: query - stock_engine_id schema: - stock_engine_uuid type: string - target_language - timestamps enum: - uuid - name:asc - version properties: - name:desc id: responses: 200$ref: '#/components/schemas/engineId' description: OK actions: content: $ref: '#/components/schemas/EngineActions' application/jsoncounts: $ref: '#/components/schemas/EngineCounts' schema: group_id: $ref: '#/components/schemas/GroupCollectiongroupId' 401health: $ref: '#/components/responsesschemas/401UnauthorizedengineHealth' 403instance_ids: $reftype: '#/components/responses/403Forbidden' array 500items: $ref: '#/components/responsesschemas/500InternalServerErrornumericalId' /languages: getname: tagstype: string - Languages example: Engine 1 securitypublished: - bearertype: [boolean ] summaryexample: Listtrue languages descriptionsource_language: | Returns a collection of languages used in Globalese.$ref: '#/components/schemas/sourceLanguage' status: A translation API key can also be used for authentication.$ref: '#/components/schemas/engineStatus' parametersstock_corpora: - $reftype: '#/components/parameters/languageUsage'boolean - $refexample: '#/components/parameters/limit'true - $ref: '#/components/parameters/offset'stock_engine_id: responses: allOf: 200: - $ref: '#/components/schemas/nullableStockEngineUuid' description: OK - contentdeprecated: true application/jsonstock_engine_uuid: $ref: '#/components/schemas/nullableStockEngineUuid' schema: target_language: $ref: '#/components/schemas/LanguageCollectiontargetLanguage' 401timestamps: $ref: '#/components/responsesschemas/401UnauthorizedEngineTimestamps' 500uuid: $ref: '#/components/responsesschemas/500InternalServerErroruuid' /segment-translation-dispatchers: getversion: tags type: string - Segment translationnullable: dispatcherstrue security: example: 3.5.5 - bearerEngineActions: [ ] type: object summary: List segment translation dispatchers description: An object describing the description:actions |possible against an engine. Required permissionsrequired: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` - responses:delete 200:- deploy - description:train OK - translate content: - tune application/json: - update properties: schema: delete: $reftype: '#/components/schemas/RemoteDispatcherCollection'boolean 401deploy: $reftype: '#/components/responses/401Unauthorized'boolean 403train: $reftype: '#/components/responses/403Forbidden'boolean 500translate: $reftype: '#/components/responses/500InternalServerError'boolean 502tune: $reftype: '#/components/responses/502BadGateway' components:boolean parameters: corpusCatServerIdupdate: name: cat.server.id type: boolean inEngineCollection: query descriptiontype: |object required: The ID of the CAT server the corpus- isdata associated with. schema:- meta typeproperties: number exampledata: 10 corpusIdInPath: nametype: corpusIdarray description: Corpus ID items: in: path required: true schema:$ref: '#/components/schemas/Engine' typemeta: string example$ref: 5b04a7263fa509.a4444794'#/components/schemas/CollectionMetadata' engineIdEngineCorpusIdWithVersion: nametype: engine_idobject inrequired: query description: |- id Engine ID- forversion filtering. properties: Examples: `1`, `2` id: schema: $ref: '#/components/schemas/engineIdcorpusId' engineIds version: name: engine_ids $ref: '#/components/schemas/corpusVersion' inEngineCounts: query descriptiontype: |object required: One or more engine ID(s) for filtering, comma-separated. corpora properties: Examples: `1`, `1,3,5` corpora: schema: oneOftype: object - typerequired: integer - type: stringcore groupIds: - auxiliary name: group_ids inproperties: query description: | core: One or more group ID(s) for filtering, comma-separated. type: object Examples: `1`, `1,3,5` schemaproperties: oneOf: segment_count: - type: integer - type: number string styleauxiliary: form explode: false languageUsagetype: object name: usage inproperties: query description: | segment_count: Filter for languages used in Globalese. Optionally, the `type:source` number or `:target` modifier may beEngineEvent: appended to the parameter value to filterallOf: for languages used on the source or target language- side only.$ref: '#/components/schemas/Event' - `usage=enginestype:source` willobject return a list of languages used as engine source languages. required: `usage=engines` will return a list- ofnote languages used as engine languages, either source or target. - error_code schema: typeproperties: string enumerror_code: - engines $ref: '#/components/schemas/errorCode' limit: namenote: limit in: query description: |$ref: '#/components/schemas/engineEventNote' Limit for results. *May* be used together with `offset`. resource_id: Examples$ref: `25`, `50`'#/components/schemas/engineId' schema: type: type: integer limitMax100: nametype: limitstring in: query descriptionenum: | Limit for results. It cannot be greater than- 100.created *May* be used together with `offset`. Examples: `25`,- `50`deleted If not provided, it will automatically be set to 100.- instance_deployment_failed schema: type: integer - instance_deployment_finished metadataClient: name: metadata.client in: query- instance_deployment_started description: | Client metadata descriptor.- instance_removal_failed Examples: `Very Important Client` - instance_removal_finished schema: type: string metadataDescription:- instance_removal_started name: metadata.description in: query - instance_removal_started_by_billing description: | Description metadata descriptor.- published Examples: `used for 2018 campaign` - stock_engine_removed schema: type: string metadataDomain:- training_cancelled name: metadata.domain in: query - training_failed description: | Domain metadata descriptor. - training_finished Examples: `legal` schema: - training_started type: string metadataProject: - tuning_failed name: metadata.project in: query - description:tuning_finished | Project metadata descriptor. - tuning_started Examples: `0192 EC Project` schema: - unpublished type: string metadataSubject: - name:updated metadata.subject EngineEventCollection: in: query type: object description: | required: Subject metadata descriptor. - data Examples: `EU- treaties`meta schemaproperties: typedata: string numericalIds: type: name:array ids in: query items: description: | $ref: One or more ID(s) for filtering, comma-separated. '#/components/schemas/EngineEvent' meta: Examples: `3`, `3,4` $ref: '#/components/schemas/CollectionMetadata' schemaengineHealth: type: string stylenullable: formtrue explodeenum: false offset: - current name: offset - deprecated in: query - supported description: | - unsupported Offset to start query from. **Must** be used together with `limit`. engineId: description: Engine ID Examplestype: `50`,integer `100` example: 10 schema: EngineInstance: type: object integer sourceLanguagerequired: name: source_language - id in: query- engine_id description: | - dispatcher_url Source language. - status Examplesproperties: `en`, `fr` schemaid: type: string $ref: '#/components/schemas/numericalId' stringIds: nameengine_id: ids in: query $ref: '#/components/schemas/engineId' description: | dispatcher_url: One or more ID(s) for filtering, comma-separated. $ref: '#/components/schemas/dispatcherUrl' Examplesstatus: `5b04a7263fa509.a4444794`, `5b04a7263fa509.a4444794,5b0412363fa5c1.a4354792` schema: $ref: '#/components/schemas/engineInstanceStatus' typeEngineInstanceCollection: string styletype: formobject exploderequired: false targetLanguage: - data name: target_language - meta in: query properties: description: | data: Target language. type: array Examples: `en`, `fr` schemaitems: type: string requestBodies$ref: '#/components/schemas/EngineInstance' CreateCorpus: meta: content: multipart/form-data$ref: '#/components/schemas/CollectionMetadata' engineInstanceStatus: schema: type: string $ref: '#/components/schemas/CreateCorpus'enum: CreateEngineInstance: - deploying required: true content:- error_removal_engine_manager_internal_error application/json: - error_removal_engine_manager_rejected_request - schema:error_removal - on type: object - queued required: - removing EngineResources: - engine_idtype: object required: - dispatcher_idcorpora - stock_corpora properties: - stock_engine properties: engine_id: corpora: $ref: '#/components/schemas/engineIdEngineResourcesCorpora' stock_corpora: dispatcher_idtype: boolean stock_engine: $ref: '#/components/schemas/dispatcherIdEngineResourcesStockEngine' UpdateCorpusEngineResourcesCorpora: contenttype: object application/jsondescription: An engine cannot contain more than 500 corpora in total. schema: required: $ref: '#/components/schemas/UpdateCorpus' - core UpdateCorpusContent: - content:auxiliary multipart/form-dataproperties: schemaauxiliary: $ref: '#/components/schemas/UpdateCorpusContent' responsestype: array 204NoContent: descriptionitems: No Content 400BadRequest: description: Bad Request$ref: '#/components/schemas/EngineCorpusIdWithVersion' contentcore: application/json type: array schema items: $ref: '#/components/schemas/ErrorEngineCorpusIdWithVersion' 401UnauthorizedEngineResourcesStockEngine: descriptiontype: Unauthorizedobject contentrequired: application/json:- id properties: schema: id: $ref: '#/components/schemas/Error'uuid' engineStatus: 403Forbidden type: string description enum: Insufficient permissions content:- changed application/json: - error schema:- queued - trained $ref: '#/components/schemas/Error' 404NotFound:- training description: Resource not found- tuned 422UnprocessableEntity: - tuning description: Unprocessable entity 500InternalServerError: - untrained descriptionError: Internal server error while processing thetype: requestobject contentproperties: application/jsonerror: schematype: string $refexample: '#/components/schemas/Error'"Error message." 502BadGateway: required: description: Bad Gateway - securitySchemes:error bearererrorCode: type: httpinteger schemenullable: bearertrue descriptionexample: 104 API key schemasengineEventNote: catToolServerId: type: string description: CAT tool servernullable: IDtrue in Globalese typeexample: integerUpdated to include proofread corpus from latest example:project. 10 catToolServerTypeEngineTimestamps: type: stringobject enumrequired: - memoqdeprecated_at properties: - memsource deprecated_at: - smartcat $ref: - xtm'#/components/schemas/nullableTimestamp' CollectionMetadataEvent: type: object required: - countsid properties: - resource_id counts: - timestamp type: object - type required:- user properties: - total id: - filtered $ref: '#/components/schemas/numericalId' propertiestimestamp: total$ref: '#/components/schemas/timestamp' descriptionuser: The total number of resources in the system, irrespective of any filters. $ref: '#/components/schemas/EventUser' EventUser: type: integerobject nullable: true examplerequired: 100 - id filtered: - name descriptionproperties: The number of resources in the system matching theid: filters. $ref: '#/components/schemas/userId' type: integer name: example$ref: 40'#/components/schemas/userName' CorpusFile: type: object required: - id - actions - catcounts - countsformat - enginesgroup_id - formatname - groupsproject_id - metadatasource_language - namestatus - sourcetarget_language - target_language timestamps properties: id: - version properties:$ref: '#/components/schemas/fileId' idactions: $ref: '#/components/schemas/corpusIdFileActions' actionscat: $ref: '#/components/schemas/CorpusActionsFileCat' catcounts: $ref: '#/components/schemas/CorpusCatFileCounts' countsformat: $ref: '#/components/schemas/CorpusCountsfileFormat' engine_idsgroup_id: $ref: '#/components/schemas/groupId' name: type: arraystring itemsexample: Chapter 1.xliff type: integerproject_id: example$ref: [ 2, 8, 14 ]'#/components/schemas/projectId' formatsource_language: $ref: '#/components/schemas/corpusFormatsourceLanguage' group_idsstatus: $ref: '#/components/schemas/corpusGroupIdsfileStatus' metadatatarget_language: $ref: '#/components/schemas/CorpusMetadatatargetLanguage' nametimestamps: $ref: '#/components/schemas/corpusNameFileTimestamps' FileActions: source_language type: object description: An object describing the actions possible $ref: '#/components/schemas/sourceLanguage' against a project file. target_languagerequired: - $ref: '#/components/schemas/targetLanguage' delete - deliver version: - translate $refproperties: '#/components/schemas/corpusVersion' CorpusActionsdelete: type: objectboolean descriptiondeliver: An object describing the actions possibletype: againstboolean a corpus. requiredtranslate: - deletetype: boolean FileCat: -type: updateobject propertiesnullable: true deletedescription: An object describing the links to a CAT tool file. type: boolean required: update: - file typeproperties: boolean CorpusCat: file: type: object nullable$ref: true'#/components/schemas/FileCatFile' FileCatFile: description: | type: object If the corpus wasrequired: created by retrieving a CAT tool server corpus, this- objectid contains relevant information. - required:type - corpuscreated_at - serverupdated_at properties: - retrieved_at corpus: - delivered_at $ref: '#/components/schemas/CorpusCatCorpus'properties: serverid: $refoneOf: '#/components/schemas/CorpusCatServer' CorpusCatCorpus: - type: integer object required: - type: string - id propertiesexample: 5678 id type: $ref: '#/components/schemas/remoteCorpusIdcatToolServerType' CorpusCatServer: created_at: type: object required$ref: '#/components/schemas/timestamp' - id updated_at: - type $ref: '#/components/schemas/nullableTimestamp' properties: idretrieved_at: $ref: '#/components/schemas/catToolServerIdnullableTimestamp' typedelivered_at: $ref: '#/components/schemas/catToolServerTypenullableTimestamp' CorpusCollectionFileCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/CorpusFile' meta: $ref: '#/components/schemas/CollectionMetadata' CorpusContentFileCounts: type: object required: - datatotal - metanew properties: datatotal: type$ref: array'#/components/schemas/SegmentableCounts' itemsnew: type$ref: object'#/components/schemas/SegmentableCounts' fileFormat: requiredtype: string enum: - id - xliff - xliff-idiom content - xliff-memoq properties: - xliff-memsource id:- xliff-sap - xliff-sdl type: string - xliff-smartcat - example: "1"xliff-translate5 - xliff-wordbee nullable: true- xliff-wordfast - xliff-xtm contentfileId: description: File ID type: objectstring example: 51fc7ea3fa889.a0027797 fileStatus: required: type: string enum: - sourceempty - new - targetqueued - queueing properties: - translated - translating sourceFileTimestamps: type: object required: type: string - uploaded_at - translated_at targetproperties: uploaded_at: type$ref: string'#/components/schemas/timestamp' metatranslated_at: $ref: '#/components/schemas/CollectionMetadatanullableTimestamp' CorpusCountsGroup: type: object required: - segment_countid - source_word_countname properties: - target_word_count id: - source_character_count $ref: - target_character_count'#/components/schemas/groupId' propertiesname: segment_count: type: integerstring example: 145952Default GroupCollection: source_word_count: type: object typerequired: integer - data example: 2819806 target_word_countproperties: typedata: integer exampletype: 3120176array source_character_count: items: type: integer $ref: '#/components/schemas/Group' examplegroupId: 24235334 target_character_countdescription: Group ID type: integer example: 2 exampleJobTimestamps: 29194748 CorpusEventtype: object allOfrequired: - $ref: '#/components/schemas/Event' created_at - type:started_at object - finishing_at properties: properties: resource created_idat: $ref: '#/components/schemas/corpusIdcreatedAt' started_at: type: description: Timestamp of when the job started in type:ISO string8601 format type: string enum: nullable: true - uploaded example: "2017-08-30T04:34:26+00:00" finishing_at: - updated description: Timestamp of when the job is estimated to finish in - new_version_uploaded ISO 8601 format CorpusEventCollection: type: objectstring requirednullable: true - data example: "2043-11-03T07:53:10+00:00" -Language: meta propertiestype: object datarequired: - type:id array itemsproperties: id: $ref: '#/components/schemas/CorpusEvent' type: string meta: $ref: '#/components/schemas/CollectionMetadata'example: en-us corpusFormatLanguageCollection: type: stringobject enumrequired: - csv-commadata - csv-memoqmeta properties: - csv-semicolon data: - tmx type: array - tbx items: - tsv - xliff $ref: '#/components/schemas/Language' - xliff-memoq meta: - xliff-memsource $ref: '#/components/schemas/CollectionMetadata' nullableEngineId: - xliff-sdl description: Engine ID - xliff-smartcat type: integer - xliff-translate5 nullable: true - xliff-wordbeeexample: 10 nullableEngineVersion: - xliff-xtm description: Engine corpusGroupIds:version type: arrayinteger description: | nullable: true Cannot be empty. example: 4 AnullableStockEngineId: corpus must always be assigned to atdescription: leastStock oneengine group.ID itemsnullable: true type: integer example: 23 [ 1, 3 ] nullableStockEngineUuid: corpusIddescription: Stock engine UUID description nullable: Corpus IDtrue type: string example: 5a0ba1267f0571.0464270177d3a117-43bd-401c-ab8b-75552118b2c5 CorpusMetadatanullableTimestamp: type: objectstring propertiesnullable: true domain:example: "2020-06-06T10:45:00+00:00" numericalId: typedescription: stringID nullabletype: trueinteger example: legal10 Project: subject: type: object typerequired: string - id nullable: true - actions example: EU treaties - engine_id client: - engine_version type: string - group_id nullable: true- name - example:source_language Very Important Client - project:status type: string- stock_engine_id - stock_engine_uuid nullable: true - target_language example: 0192 EC Project - timestamps descriptionproperties: typeid: string nullable: true$ref: '#/components/schemas/projectId' actions: example: created by DGT corpusName$ref: '#/components/schemas/ProjectActions' type: string cat: example: English to German DGT.tmx $ref: '#/components/schemas/ProjectCat' CorpusVersion: typecounts: object required: $ref: '#/components/schemas/ProjectCounts' - version engine_id: - counts $ref: '#/components/schemas/nullableEngineId' - engine_ids engine_version: - timestamps $ref: properties:'#/components/schemas/nullableEngineVersion' versiongroup_id: $ref: '#/components/schemas/corpusVersiongroupId' countsname: type: string $ref example: '#/components/schemas/CorpusCounts' Project 1 enginesource_idslanguage: $ref: '#/components/schemas/CorpusVersionEngineIdssourceLanguage' timestampsstatus: $ref: '#/components/schemas/CorpusVersionTimestampsProjectStatus' corpusVersion: descriptionstock_engine_id: The version of the corpus typeallOf: integer example: 1 - CorpusVersionCollection$ref: '#/components/schemas/nullableStockEngineUuid' type: object - requireddeprecated: true - data stock_engine_uuid: - meta $ref: '#/components/schemas/nullableStockEngineUuid' properties: datatarget_language: type$ref: array'#/components/schemas/targetLanguage' itemstimestamps: $ref: '#/components/schemas/CorpusVersionProjectTimestamps' ProjectActions: meta type: object description: An object $ref: '#/components/schemas/CollectionMetadata' CorpusVersionEngineIds:describing the actions possible against a project. typerequired: object - required:delete - trainedtranslate - tunedupdate properties: traineddelete: type: arrayboolean itemstranslate: type: integerboolean exampleupdate: [ 2, 8, 14 ] type: boolean tuned: ProjectCat: type: arrayobject nullable: true items: description: An object describing the links to a CAT type:tool integerserver and project. required: example: [ 2, 8, 14 ] - project CorpusVersionTimestamps: type:- objectserver requiredproperties: project: - created_at properties$ref: '#/components/schemas/ProjectCatProject' created_at server: $ref: '#/components/schemas/createdAtProjectCatServer' CreateCorpusProjectCatProject: type: object required: - fileid - format name properties: id: - group_ids[] propertiesoneOf: file - type: integer - type: object: string example: 849660f2-d081-4d7f-b266-f526ad073521 formatname: $reftype: '#/components/schemas/corpusFormat'string group_ids[]example: My CAT server project ProjectCatServer: $ref: '#/components/schemas/groupId' type: object source_languagerequired: - $ref: '#/components/schemas/sourceLanguage' id - name target_language: - type $refproperties: '#/components/schemas/targetLanguage' metadata[domain]id: type: stringinteger example: legal5 metadata[subject]name: type: string example: EU treatiesMy CAT server connection metadata[client]type: type: string$ref: '#/components/schemas/catToolServerType' ProjectCollection: exampletype: Veryobject Important Client required: metadata[project]: - data type: string - meta exampleproperties: 0192 EC Project metadata[description]data: type: stringarray exampleitems: created by DGT createdAt: $ref: '#/components/schemas/Project' description: Created timestamp in ISO 8601 format meta: type: string $ref: '#/components/schemas/CollectionMetadata' example: "2017-08-30T04:34:26+00:00" ProjectCounts: dispatcherIdtype: object description required: Segment-based translation dispatcher ID - files type: integer properties: example: 1 dispatcherRegionfiles: type: number string example: "europe-west1"5 dispatcherUrlprojectId: typedescription: Project stringID exampletype: "https://dispatcher-europe-west1-ja6vheawuq-ew.a.run.app" integer Engineexample: 30 typeprojectName: object requiredtype: string example: -My idProject ProjectStatus: - group_id type: string - instance_idsenum: - nameempty - source_languagenew - target_languagequeued - uuidstarted properties: - translated id: - translating $refProjectTimestamps: '#/components/schemas/engineId' type: object group_id: required: $ref: '#/components/schemas/groupId' - created_at instance_ids: - updated_at typeproperties: array itemscreated_at: $ref: '#/components/schemas/numericalIdcreatedAt' nameupdated_at: type$ref: string'#/components/schemas/updatedAt' exampleremoteCorpusId: Engine 1 source_languagedescription: The ID of the corpus on the CAT tool server. $ref: '#/components/schemas/sourceLanguage' target_languageoneOf: - type: $ref: '#/components/schemas/targetLanguage'number - uuidtype: string $ref: '#/components/schemas/engineUuid'example: "a6fd0c40-7b5c-48bf-89c2-629417b398cd" EngineCollectionRemoteDispatcherCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/EngineRemoteDispatcher' meta: $ref: '#/components/schemas/CollectionMetadata' engineId: description: Engine IDRemoteDispatcher: type: integer example: 10 EngineInstance: type: object required: - id - engine_idregion - dispatcher_url - statustimestamps properties: id: $ref: '#/components/schemas/numericalIddispatcherId' engine_idregion: $ref: '#/components/schemas/engineIddispatcherRegion' dispatcher_url: $ref: '#/components/schemas/dispatcherUrl' statustimestamps: $ref: '#/components/schemas/engineInstanceStatusRemoteDispatcherTimestamps' EngineInstanceCollectionRemoteDispatcherTimestamps: type: object required: - datacreated_at - metaupdated_at properties: datacreated_at: type$ref: array'#/components/schemas/createdAt' itemsupdated_at: $ref: '#/components/schemas/EngineInstanceupdatedAt' sourceLanguage: metadescription: Source language code $ref: '#/components/schemas/CollectionMetadata'type: string example: en-us engineInstanceStatusStockEngine: type: stringobject enumrequired: - deployingid - error_removal_engine_manager_internal_errorsource_language - error_removal_engine_manager_rejected_requesttarget_language - error_removalversion - timestamps on properties: - queued id: - removing engineUuid:$ref: '#/components/schemas/stockEngineId' typesource_language: string example: "21cfda50-1944-46fc-901c-04a168ea6fee"$ref: '#/components/schemas/sourceLanguage' Error: target_language: type: object properties$ref: '#/components/schemas/targetLanguage' error version: type: string example: "Error message."4.1.0 required: timestamps: - error Event$ref: '#/components/schemas/StockEngineTimestamps' typestockEngineId: object requireddescription: Stock engine ID - idtype: integer example: -5 resource_id StockEngineTimestamps: - timestamp type: object -required: type - usercreated_at properties: idcreated_at: $ref: '#/components/schemas/numericalIdcreatedAt' timestampupdated_at: $ref: '#/components/schemas/timestamp' updatedAt' targetLanguage: description: Target language code type: string example: it timestamp: userdescription: Timestamp in ISO 8601 format $ref: '#/components/schemas/EventUser'type: string example: "2020-06-06T10:45:00+00:00" EventUserTrainingJob: type: object nullablerequired: true - required:id - engine_id - percentage - nametimestamps properties: id: $ref: '#/components/schemas/userIdnumericalId' nameengine_id: $ref: '#/components/schemas/userNameengineId' Group: progress: type: object description: Training progress as percentage. required: type: integer - id nullable: true - name propertiesexample: 60 id timestamps: $ref: '#/components/schemas/groupIdJobTimestamps' nameTrainingJobCollection: type: stringobject examplerequired: Default GroupCollection: - data type: object required: - datameta properties: data: type: array items: $ref: '#/components/schemas/Group' groupId: description: Group ID type: integer example: 2 Language: type: objectTrainingJob' requiredmeta: - id $ref: '#/components/schemas/CollectionMetadata' propertiesTranslationJob: type: object id: required: type: string - id example: en-us file_id LanguageCollection: - project_id type: object - required:timestamps properties: - data id: - meta properties$ref: '#/components/schemas/numericalId' data file_id: type$ref: array'#/components/schemas/fileId' items: project_id: $ref: '#/components/schemas/LanguageprojectId' metatimestamps: $ref: '#/components/schemas/CollectionMetadataJobTimestamps' numericalIdTranslationJobCollection: descriptiontype: IDobject typerequired: integer - data - example:meta 10 remoteCorpusIdproperties: descriptiondata: The ID of the corpustype: onarray the CAT tool server. oneOfitems: - type: number$ref: '#/components/schemas/TranslationJob' meta: - type: string example: "a6fd0c40-7b5c-48bf-89c2-629417b398cd"$ref: '#/components/schemas/CollectionMetadata' RemoteDispatcherCollectionUpdateCorpus: type: object requiredproperties: -name: data - meta $ref: '#/components/schemas/corpusName' properties: datagroup_ids: type$ref: array'#/components/schemas/corpusGroupIds' itemsmetadata: $ref: '#/components/schemas/RemoteDispatcherCorpusMetadata' UpdateCorpusContent: meta: type: object required: - file $ref: '#/components/schemas/CollectionMetadata' properties: RemoteDispatcherfile: type: object updatedAt: required: description: Updated timestamp in ISO 8601 format - id type: string - regionnullable: true example: "2017- url08-30T04:34:26+00:00" UpdateProject: -type: timestampsobject properties: idname: $ref: '#/components/schemas/dispatcherIdprojectName' regionengine_id: $ref: '#/components/schemas/dispatcherRegionnullableEngineId' urlengine_version: $ref: '#/components/schemas/dispatcherUrlnullableEngineVersion' timestampsstock_engine_id: $ref: '#/components/schemas/RemoteDispatcherTimestampsnullableStockEngineId' RemoteDispatcherTimestampsUpdateEngine: type: object requiredproperties: name: - created_at type: string - updated_at propertiesexample: Engine 1 created_atnote: $ref: '#/components/schemas/createdAtengineEventNote' updated_atpublished: $reftype: '#/components/schemas/updatedAt'boolean sourceLanguage: descriptionexample: Sourcetrue language code typeresources: string example$ref: en-us'#/components/schemas/UpdateEngineResources' targetLanguageUpdateEngineResources: descriptiontype: Target language code object properties: typecorpus_ids: string example: it $ref: '#/components/schemas/UpdateEngineResourcesCorpusIds' timestamp: descriptionstock_corpora: Timestamp in ISO 8601 format type: boolean string example: "2020-06-06T10:45:00+00:00" UpdateCorpus: description: Whether or not to use available stock corpora for training the engine. typeUpdateEngineResourcesCorpusIds: object propertiestype: object nameproperties: core: $ref: '#/components/schemas/corpusName' group_idstype: array $refitems: '#/components/schemas/corpusGroupIds' metadata: type: string $ref: '#/components/schemas/CorpusMetadata' UpdateCorpusContentexample: [ '51fc7ea3fa889.b0027797', '54018363fa5c1.044227af' ] type: object requiredauxiliary: - file type: array properties: items: file: type: object string updatedAt: descriptionexample: Updated timestamp in ISO 8601 format[ '5b04a7263fa509.77444794', '5b0412363fa5c1.c4354792' ] type: stringuserId: nullabletype: trueinteger example: "2017-08-30T04:34:26+00:00"5 userIduserName: type: integerstring example: John 5Doe userNameuuid: type: string example: John Doe"21cfda50-1944-46fc-901c-04a168ea6fee" |