Info |
---|
This documentation is incomplete. 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-beta" description: Globalese API v3 beta tags: 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: /enginescorpora: get: tags: - EnginesCorpora security: - bearer: [ ] summary: List enginescorpora description: | Returns a collection of enginescorpora. parameters: A translation API key can also be- used for authentication. parameters:$ref: '#/components/parameters/stringIds' - $ref: '#/components/parameters/limitmax100limitMax100' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/sourceLanguage' - $ref: '#/components/parameters/targetLanguage' - $ref: '#/components/parameters/groupIds' - name$ref: sort'#/components/parameters/engineId' - in$ref: query'#/components/parameters/metadataDomain' - schema$ref: '#/components/parameters/metadataSubject' - $ref: type: string'#/components/parameters/metadataClient' - $ref: '#/components/parameters/metadataProject' enum: - $ref: '#/components/parameters/metadataDescription' - name$ref:asc '#/components/parameters/corpusCatServerId' - name: name - name:desc responsesin: query 200: description: Full or partial corpus name for filtering. description: OK contentschema: application/jsontype: string - name: sort schema: in: query $ref: '#/components/schemas/EngineCollection' schema: 401: type: string $ref: '#/components/responses/401Unauthorized' 500enum: $ref: '#/components/responses/500InternalServerError' /engine-instances name:asc get: tags: - name:desc - Engine instances - security:counts.segment_count:asc - bearercounts.segment_count:desc [ ] responses: summary: List engine instances 200: description: | description: OK Returns a collection of engine instances (being) deployed. content: Required permissions: `MANAGE_ENGINES|TRANSLATE|SYSTEM_ADMINISTRATOR` application/json: A translation API key can also be used for authentication.schema: parameters: - $ref: '#/components/parametersschemas/numericalIdsCorpusCollection' - $ref401: '#/components/parameters/engineIds' - $ref: '#/components/parametersresponses/groupIds401Unauthorized' - $ref403: '#/components/parameters/limitmax100' - $ref: '#/components/parametersresponses/offset403Forbidden' responses: 500: 200: $ref: '#/components/responses/500InternalServerError' descriptionpost: OK tags: content: - Corpora application/jsonsecurity: - bearer: [ ] schema: summary: Upload a new corpus description: | $ref: '#/components/schemas/EngineInstanceCollection' The `source_language` and `target_language` 401:are required for these formats: $ref: '#/components/responses/401Unauthorized' * `csv-comma` 403: * `csv-memoq` $ref: '#/components/responses/403Forbidden' * `csv-semicolon` 500: * `tsv` $ref: '#/components/responses/500InternalServerError' post: tags: Only a single file may be uploaded in one request. Maximum file size: 600 MB. - Engine instances A file can be uploaded as security:a zip archive. - bearer: [The ]zip archive may only contain one file, summary:and Createthe afile newformat enginemust instancebe provided in the `format` field. description: | The `Content-Disposition` header must contain the `filename` directive. This is taken care Startsof deployingby anmost enginelibraries in the background. general. E.g. `Content-Disposition: form-data; name="Example TM"; filename="example.xliff"` Required permissions: `MANAGE_ENGINES|SYSTEM `MANAGE_CORPORA` in all the groups the corpus is uploaded to, or `SYSTEM_ADMINISTRATOR` requestBody: $ref: '#/components/requestBodies/CreateEngineInstanceCreateCorpus' responses: 202201: description: TheCreated newly created engine instance entity in the database. content: application/json: schema: $ref: '#/components/schemas/EngineInstanceCorpus' 400: $ref: '#/components/responses/400BadRequest' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 500: $ref: '#/components/responses/500InternalServerError' /engine-instancescorpora/{idcorpusId}: parameters: - name: id description: Engine instance ID in: path required: true schema: type: integer $ref: '#/components/parameters/corpusIdInPath' get: tags: - EngineCorpora instances security: - bearer: [ ] summary: Show the details of ana engine instancecorpus description: | Returns a single engine instancecorpus. Required permissions: `MANAGE_ENGINES|TRANSLATE|SYSTEM_ADMINISTRATOR` A translation API key can also be used for authentication.CORPORA` in any of the groups the corpus belongs to, or `SYSTEM_ADMINISTRATOR` responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/EngineInstanceCorpus' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Forbidden' 404: $ref: '#/components/responses/404NotFound' 500: $ref: '#/components/responses/500InternalServerError' patch: 502tags: - Corpora $ref: '#/components/responses/502BadGateway' deletesecurity: - tagsbearer: [ ] - Engine instancessummary: Update a corpus securitydescription: | - Required bearerpermissions: [ ] summary: Delete an engine instance `MANAGE_CORPORA` in all the groups the corpus belongs to, description: | or `SYSTEM_ADMINISTRATOR` Removes a deployed engine instance.requestBody: Required permissions: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR`$ref: '#/components/requestBodies/UpdateCorpus' responses: 204200: $refdescription: '#/components/responses/204NoContent' OK 400content: $ref: '#/components/responses/400BadRequest' application/json: 401:schema: $ref: '#/components/responsesschemas/401UnauthorizedCorpus' 403400: $ref: '#/components/responses/403Forbidden400BadRequest' 404401: $ref: '#/components/responses/404NotFound401Unauthorized' 500403: $ref: '#/components/responses/500InternalServerError403Forbidden' 502500: $ref: '#/components/responses/502BadGateway500InternalServerError' /groups: getdelete: tags: - GroupsCorpora security: - bearer: [ ] summary: Delete Lista groupscorpus description: Returns| a collection of groups the authenticated user is Delete a member ofcorpus. parameters: - $ref: '#/components/parameters/limitmax100'Required permissions: `MANAGE_CORPORA` -in $ref: '#/components/parameters/offset' all the groups the corpus belongs to, - name: sort or `SYSTEM_ADMINISTRATOR` inresponses: query schema204: type$ref: string'#/components/responses/204NoContent' enum400: $ref: '#/components/responses/400BadRequest' - name:asc 401: - name$ref:desc responses: '#/components/responses/401Unauthorized' 200403: description$ref: OK'#/components/responses/403Forbidden' content404: application/json:$ref: '#/components/responses/404NotFound' 500: schema: $ref: '$ref: '#/components/schemasresponses/GroupCollection500InternalServerError' /corpora/{corpusId}/content: 401parameters: - $ref: '#/components/responsesparameters/401UnauthorizedcorpusIdInPath' get: 403: tags: $ref: '#/components/responses/403Forbidden' - Corpora 500security: - $refbearer: '#/components/responses/500InternalServerError' /languages:[ ] getsummary: Corpus content tags: description: | - Languages Returns segments of a corpus. security: -Required bearerpermissions: [ ] summary: List languages description: |`MANAGE_CORPORA` in any of the groups the corpus belongs to, or Returns`SYSTEM_ADMINISTRATOR` a collection of languages used in Globalese.parameters: - A translation API key can also be used for authentication. parameters$ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' responses: - $ref200: '#/components/parameters/languageUsage' - $refdescription: '#/components/parameters/limit' OK - $refcontent: '#/components/parameters/offset' responses: application/json: 200: descriptionschema: OK content: $ref: '#/components/schemas/CorpusContent' application/json401: $ref: '#/components/responses/401Unauthorized' schema: 403: $ref: '#/components/schemasresponses/LanguageCollection403Forbidden' 401404: $ref: '#/components/responses/401Unauthorized404NotFound' 500: $ref: '#/components/responses/500InternalServerError' /segment-translation-dispatchers: /corpora/{corpusId}/events: parameters: - $ref: '#/components/parameters/corpusIdInPath' get: tags: - Segment translation dispatchersCorpora security: - bearer: [ ] summary: List segment translation dispatchers Show the event log of a corpus description: | Required permissions: `MANAGE_ENGINES|SYSTEM_ADMINISTRATOR` responses:Returns a list of events from the corpus log. Required 200permissions: `MANAGE_CORPORA` in any description:of OKthe groups the corpus belongs to, content: or `SYSTEM_ADMINISTRATOR` parameters: application/json: - name: sort schema: in: query $refschema: '#/components/schemas/RemoteDispatcherCollection' 401type: string $ref enum: '#/components/responses/401Unauthorized' 403: - timestamp:asc $ref: '#/components/responses/403Forbidden' - 500timestamp:desc - $ref: '#/components/responsesparameters/500InternalServerErrorlimitMax100' 502: - $ref: '#/components/responsesparameters/502BadGatewayoffset' components: parameters: responses: engineIds: name200: engine_ids in: query description: OK description: | content: One or more engine ID(s) for filtering, comma-separated. application/json: Examples: `1`, `1,3,5` schema: oneOf: - type$ref: integer'#/components/schemas/CorpusEventCollection' - type401: string groupIds: $ref: name: group_ids'#/components/responses/401Unauthorized' in403: query description: | $ref: '#/components/responses/403Forbidden' One or more group ID(s) for filtering, comma-separated.404: Examples: `1`, `1,3,5`$ref: '#/components/responses/404NotFound' schema500: oneOf: $ref: '#/components/responses/500InternalServerError' /corpora/{corpusId}/versions: - typeparameters: integer - - type: string$ref: '#/components/parameters/corpusIdInPath' get: tags: style: form - Corpora explode: false languageUsagesecurity: - namebearer: [ usage] insummary: query List all versions of a corpus description: | Returns details about each version of a corpus: * corpus counts Filter for languages used in Globalese. * engine IDs that used the corpus version for training Required permissions: `MANAGE_CORPORA` or `MANAGE_ENGINES` in any of the groups the corpus belongs to, 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. 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 groups 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/numericalIds' - $ref: '#/components/parameters/limitMax100' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/sourceLanguage' - $ref: '#/components/parameters/targetLanguage' - $ref: '#/components/parameters/engineStatuses' - $ref: '#/components/parameters/groupIds' - name: name in: query description: Full or partial engine name for filtering. schema: type: string - name: sort in: query schema: type: string enum: - name:asc - name:desc - status: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/schemas/CreateEngineResourcesCorpusIds' stock_corpora: type: boolean description: Whether or not to use available stock corpora for training the engine. stock_engine_uuid: $ref: '#/components/schemas/nullableStockEngineUuid' CreateEngineResourcesCorpusIds: type: object required: - core properties: core: type: array items: type: string example: [ '51fc7ea3fa889.b0027797', '54018363fa5c1.044227af' ] auxiliary: type: array items: type: string example: [ '5b04a7263fa509.77444794', '5b0412363fa5c1.c4354792' ] createdAt: description: Created timestamp in ISO 8601 format type: string example: "2017-08-30T04:34:26+00:00" CreateFile: type: object required: - file - format properties: file: type: object format: $ref: '#/components/schemas/fileFormat' CreateProject: type: object required: - name - source_language - target_language - group_id properties: name: type: string example: Project 1 source_language: $ref: '#/components/schemas/sourceLanguage' target_language: $ref: '#/components/schemas/targetLanguage' group_id: $ref: '#/components/schemas/groupId' engine_id: $ref: '#/components/schemas/nullableEngineId' engine_version: $ref: '#/components/schemas/nullableEngineVersion' stock_engine_id: allOf: - $ref: '#/components/schemas/nullableStockEngineUuid' - deprecated: true stock_engine_uuid: $ref: '#/components/schemas/nullableStockEngineUuid' cat: $ref: '#/components/schemas/CreateProjectCat' CreateProjectCat: type: object required: - server - project properties: server: $ref: '#/components/schemas/CreateProjectCatServer' project: $ref: '#/components/schemas/CreateProjectCatProject' CreateProjectCatServer: type: object required: - id properties: id: type: integer description: CAT tool server connection ID as stored in Globalese. example: 2 CreateProjectCatProject: type: object required: - id properties: id: oneOf: - type: integer - type: string description: CAT tool project ID as stored on the CAT tool server. example: 5987c27a-da1e-4060-b08d-00aa6dbd0bba CreateTrainingJob: type: object required: - engine_id - mode properties: engine_id: $ref: '#/components/schemas/engineId' mode: type: string enum: - training - tuning CreateTranslationJob: type: object required: - file_id properties: file_id: $ref: '#/components/schemas/fileId' dispatcherId: description: Segment-based translation dispatcher ID type: integer example: 1 dispatcherRegion: type: string example: "europe-west1" dispatcherUrl: type: string example: "https://dispatcher-europe-west1-ja6vheawuq-ew.a.run.app" Engine: type: object required: - id - actions - counts - group_id - health - instance_ids - name - published - source_language - status - stock_corpora - stock_engine_id - stock_engine_uuid - target_language - timestamps - uuid - version properties: id: $ref: '#/components/schemas/engineId' actions: $ref: '#/components/schemas/EngineActions' counts: $ref: '#/components/schemas/EngineCounts' group_id: $ref: '#/components/schemas/groupId' health: $ref: '#/components/schemas/engineHealth' instance_ids: type: array items: $ref: '#/components/schemas/numericalId' name: type: string example: Engine 1 published: type: boolean example: true source_language: $ref: '#/components/schemas/sourceLanguage' status: $ref: '#/components/schemas/engineStatus' stock_corpora: type: boolean example: true stock_engine_id: allOf: - $ref: '#/components/schemas/nullableStockEngineUuid' - deprecated: true stock_engine_uuid: $ref: '#/components/schemas/nullableStockEngineUuid' target_language: $ref: '#/components/schemas/targetLanguage' timestamps: $ref: '#/components/schemas/EngineTimestamps' uuid: $ref: '#/components/schemas/uuid' version: type: string nullable: true example: 3.5.5 EngineActions: type: object description: An object describing the actions possible against an engine. required: - delete - deploy - train - translate - tune - update properties: delete: type: boolean deploy: type: boolean train: type: boolean translate: type: boolean tune: type: boolean update: type: boolean EngineCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/Engine' meta: $ref: '#/components/schemas/CollectionMetadata' EngineCorpusIdWithVersion: type: object required: - id - version properties: id: $ref: '#/components/schemas/corpusId' version: $ref: '#/components/schemas/corpusVersion' EngineCounts: type: object required: - corpora properties: corpora: type: object required: - core - auxiliary properties: core: type: object properties: segment_count: type: number auxiliary: type: object properties: segment_count: type: number EngineEvent: allOf: - $ref: '#/components/schemas/Event' - type: object required: - note - error_code properties: error_code: $ref: '#/components/schemas/errorCode' note: $ref: '#/components/schemas/engineEventNote' resource_id: $ref: '#/components/schemas/engineId' type: type: string enum: - created - deleted - instance_deployment_failed - instance_deployment_finished - instance_deployment_started - instance_removal_failed - instance_removal_finished - instance_removal_started - instance_removal_started_by_billing - published - stock_engine_removed - training_cancelled - training_failed - training_finished - training_started - tuning_failed - tuning_finished - tuning_started - unpublished - updated EngineEventCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/EngineEvent' meta: $ref: '#/components/schemas/CollectionMetadata' engineHealth: type: string nullable: true enum: - current - deprecated - supported - unsupported engineId: description: Engine ID type: integer example: 10 EngineInstance: type: object required: - id - engine_id - dispatcher_url - status properties: id: $ref: '#/components/schemas/numericalId' engine_id: $ref: '#/components/schemas/engineId' dispatcher_url: $ref: '#/components/schemas/dispatcherUrl' status: $ref: '#/components/schemas/engineInstanceStatus' EngineInstanceCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/EngineInstance' meta: $ref: '#/components/schemas/CollectionMetadata' engineInstanceStatus: type: string enum: - deploying - error_removal_engine_manager_internal_error - error_removal_engine_manager_rejected_request - error_removal - on - queued - removing EngineResources: type: object required: - corpora - stock_corpora - stock_engine properties: corpora: $ref: '#/components/schemas/EngineResourcesCorpora' stock_corpora: type: boolean stock_engine: $ref: '#/components/schemas/EngineResourcesStockEngine' EngineResourcesCorpora: type: object description: An engine cannot contain more than 500 corpora in total. required: - core - auxiliary properties: auxiliary: type: array items: $ref: '#/components/schemas/EngineCorpusIdWithVersion' core: type: array items: $ref: '#/components/schemas/EngineCorpusIdWithVersion' EngineResourcesStockEngine: type: object required: - id properties: id: $ref: '#/components/schemas/uuid' engineStatus: type: string enum: - changed - error - queued - trained - training - tuned - tuning - untrained Error: type: object properties: error: type: string example: "Error message." required: - error errorCode: type: integer nullable: true example: 104 engineEventNote: type: string nullable: true example: Updated to include proofread corpus from latest project. EngineTimestamps: type: object required: - deprecated_at properties: deprecated_at: $ref: '#/components/schemas/nullableTimestamp' Event: type: object required: - id - resource_id - timestamp - type - user properties: id: $ref: '#/components/schemas/numericalId' timestamp: $ref: '#/components/schemas/timestamp' user: $ref: '#/components/schemas/EventUser' EventUser: type: object nullable: true required: - id - name properties: id: $ref: '#/components/schemas/userId' name: $ref: '#/components/schemas/userName' File: type: object required: - id - actions - counts - format - group_id - name - project_id - source_language - status - target_language - timestamps properties: id: $ref: '#/components/schemas/fileId' actions: $ref: '#/components/schemas/FileActions' cat: $ref: '#/components/schemas/FileCat' counts: $ref: '#/components/schemas/FileCounts' format: $ref: '#/components/schemas/fileFormat' group_id: $ref: '#/components/schemas/groupId' name: type: string example: Chapter 1.xliff project_id: $ref: '#/components/schemas/projectId' source_language: $ref: '#/components/schemas/sourceLanguage' status: $ref: '#/components/schemas/fileStatus' target_language: $ref: '#/components/schemas/targetLanguage' timestamps: $ref: '#/components/schemas/FileTimestamps' FileActions: type: object description: An object describing the actions possible against a project file. required: - delete - deliver - translate properties: delete: type: boolean deliver: type: boolean translate: type: boolean FileCat: type: object nullable: true description: An object describing the links to a CAT tool file. required: - file properties: file: $ref: '#/components/schemas/FileCatFile' FileCatFile: type: object required: - id - type - created_at - updated_at - retrieved_at - delivered_at properties: id: oneOf: - type: integer - type: string example: 5678 type: $ref: '#/components/schemas/catToolServerType' created_at: $ref: '#/components/schemas/timestamp' updated_at: $ref: '#/components/schemas/nullableTimestamp' retrieved_at: $ref: '#/components/schemas/nullableTimestamp' delivered_at: $ref: '#/components/schemas/nullableTimestamp' FileCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/File' meta: $ref: '#/components/schemas/CollectionMetadata' FileCounts: type: object required: - total - new properties: total: $ref: '#/components/schemas/SegmentableCounts' new: $ref: '#/components/schemas/SegmentableCounts' fileFormat: type: string enum: - xliff - xliff-idiom - xliff-memoq - xliff-memsource - xliff-sap - xliff-sdl - xliff-smartcat - xliff-translate5 - xliff-wordbee - xliff-wordfast - xliff-xtm fileId: description: File ID type: string example: 51fc7ea3fa889.a0027797 fileStatus: type: string enum: - empty - new - queued - queueing - translated - translating FileTimestamps: type: object required: - uploaded_at - translated_at properties: uploaded_at: $ref: '#/components/schemas/timestamp' translated_at: $ref: '#/components/schemas/nullableTimestamp' Group: type: object required: - id - name properties: id: $ref: '#/components/schemas/groupId' name: type: string example: Default GroupCollection: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/Group' groupId: description: Group ID type: integer example: 2 JobTimestamps: type: object required: - created_at - started_at - finishing_at properties: created_at: $ref: '#/components/schemas/createdAt' started_at: description: Timestamp of when the job started in ISO 8601 format type: string nullable: true example: "2017-08-30T04:34:26+00:00" finishing_at: description: Timestamp of when the job is estimated to finish in ISO 8601 format type: string nullable: true example: "2043-11-03T07:53:10+00:00" Language: type: object required: - id properties: id: type: string example: en-us LanguageCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/Language' meta: $ref: '#/components/schemas/CollectionMetadata' nullableEngineId: description: Engine ID type: integer nullable: true example: 10 nullableEngineVersion: description: Engine version type: integer nullable: true example: 4 nullableStockEngineId: description: Stock engine ID nullable: true type: integer example: 23 nullableStockEngineUuid: description: Stock engine UUID nullable: true type: string example: 77d3a117-43bd-401c-ab8b-75552118b2c5 nullableTimestamp: type: string nullable: true example: "2020-06-06T10:45:00+00:00" numericalId: description: ID type: integer example: 10 Project: type: object required: - id - actions - engine_id - engine_version - group_id - name - source_language - status - stock_engine_id - stock_engine_uuid - target_language - timestamps properties: id: $ref: '#/components/schemas/projectId' actions: $ref: '#/components/schemas/ProjectActions' cat: $ref: '#/components/schemas/ProjectCat' counts: $ref: '#/components/schemas/ProjectCounts' engine_id: $ref: '#/components/schemas/nullableEngineId' engine_version: $ref: '#/components/schemas/nullableEngineVersion' group_id: $ref: '#/components/schemas/groupId' name: type: string example: Project 1 source_language: $ref: '#/components/schemas/sourceLanguage' status: $ref: '#/components/schemas/ProjectStatus' stock_engine_id: allOf: - $ref: '#/components/schemas/nullableStockEngineUuid' - `usage=engines:source` will return a list of languages used as engine source languages.deprecated: true stock_engine_uuid: `usage=engines` will return a list of languages used as engine languages, either source or target.$ref: '#/components/schemas/nullableStockEngineUuid' target_language: schema$ref: '#/components/schemas/targetLanguage' typetimestamps: string enum:$ref: '#/components/schemas/ProjectTimestamps' ProjectActions: -type: object engines limitdescription: An object describing the actions possible name: limitagainst a project. inrequired: query description:- |delete Limit- fortranslate results. *May* be used together with `offset`. - update Examplesproperties: `25`, `50` schemadelete: type: integerboolean limitmax100: translate: name: limit intype: queryboolean description: | update: Limit for results. Ittype: cannotboolean be greater than 100. *May* be used together with `offset`. ProjectCat: type: object Examplesnullable: `25`,true `50` description: An object describing Ifthe notlinks provided,to ita willCAT automaticallytool beserver setand to 100project. schemarequired: type: integer- project - numericalIds:server nameproperties: ids inproject: query description$ref: |'#/components/schemas/ProjectCatProject' server: One or more ID(s) for filtering, comma-separated. $ref: '#/components/schemas/ProjectCatServer' ExamplesProjectCatProject: `3`, `3,4` schematype: object typerequired: string style: form- id explode: false - name offset: properties: name: offset inid: query description: | oneOf: Offset to start query from. **Must** be- usedtype: togetherinteger with `limit`. Examples: `50`,- `100`type: string schema: example: 849660f2-d081-4d7f-b266-f526ad073521 type: integer sourceLanguagename: name: source_language type: string in: query descriptionexample: |My CAT server project ProjectCatServer: Source language. type: object Examples: `en`, `fr`required: schema: - id type: string - name targetLanguage: name: target_language- type inproperties: query descriptionid: | type: Targetinteger language. Examplesexample: `en`,5 `fr` schemaname: type: string requestBodies: CreateEngineInstance: example: My CAT server connection required: true contenttype: application/json: $ref: '#/components/schemas/catToolServerType' ProjectCollection: schema: type: object typerequired: object - data required: - meta properties: - engine_id data: - dispatcher_id type: array propertiesitems: $ref: '#/components/schemas/Project' engine_id: meta: $ref: '#/components/schemas/engineIdCollectionMetadata' ProjectCounts: dispatcher_idtype: object required: $ref: '#/components/schemas/dispatcherId' - files responses: 204NoContentproperties: description: No Content files: 400BadRequest: descriptiontype: Badnumber Request content: example: 5 application/jsonprojectId: description: Project ID schema: type: integer $refexample: '#/components/schemas/Error'30 401UnauthorizedprojectName: descriptiontype: Unauthorizedstring contentexample: My Project application/jsonProjectStatus: schematype: string enum: $ref: '#/components/schemas/Error' - 403Forbidden:empty description: Insufficient permissions- new content: - queued application/json: - started schema: - translated $ref: '#/components/schemas/Error'- translating 404NotFoundProjectTimestamps: descriptiontype: Resourceobject not found 422UnprocessableEntityrequired: description: Unprocessable- entitycreated_at 500InternalServerError: - updated_at description: Internal server error while processingproperties: the request contentcreated_at: application/json$ref: '#/components/schemas/createdAt' schemaupdated_at: $ref: '#/components/schemas/Error' 502BadGateway:updatedAt' remoteCorpusId: description: The ID of the corpus on the CAT tool server. descriptiononeOf: Bad Gateway securitySchemes: - bearertype: number - type: httpstring schemeexample: bearer"a6fd0c40-7b5c-48bf-89c2-629417b398cd" RemoteDispatcherCollection: description: API key schemastype: object CollectionMetadata: required: type: object - data required: - countsmeta properties: countsdata: type: objectarray requireditems: - total$ref: '#/components/schemas/RemoteDispatcher' meta: - filtered $ref: '#/components/schemas/CollectionMetadata' propertiesRemoteDispatcher: type: object totalrequired: - id - description:region The total number of resources in the system, irrespective- ofurl any filters. - timestamps typeproperties: integer id: example$ref: 100'#/components/schemas/dispatcherId' region: filtered: $ref: '#/components/schemas/dispatcherRegion' description: The number ofurl: resources in the system matching the filters. $ref: '#/components/schemas/dispatcherUrl' timestamps: type: integer $ref: '#/components/schemas/RemoteDispatcherTimestamps' exampleRemoteDispatcherTimestamps: 40 createdAttype: object description required: Created timestamp in ISO 8601 format - created_at type: string - updated_at example: "2017-08-30T04:34:26+00:00" dispatcherIdproperties: description created_at: Segment-based translation dispatcher ID type: integer$ref: '#/components/schemas/createdAt' exampleupdated_at: 1 dispatcherRegion: $ref: type: string'#/components/schemas/updatedAt' sourceLanguage: example: "europe-west1" description: Source language dispatcherUrl:code type: string example: "https://dispatcher-europe-west1-ja6vheawuq-ew.a.run.app"en-us EngineStockEngine: type: object required: - id - groupsource_idlanguage - instance_ids - name - sourcetarget_language - target_languageversion - uuidtimestamps properties: id: $ref: '#/components/schemas/engineIdstockEngineId' groupsource_idlanguage: $ref: '#/components/schemas/groupIdsourceLanguage' instance_ids: typetarget_language: array items: $ref: '#/components/schemas/numericalIdtargetLanguage' nameversion: type: string example: Engine 4.1.0 source_languagetimestamps: $ref: '#/components/schemas/sourceLanguageStockEngineTimestamps' target_languagestockEngineId: $refdescription: '#/components/schemas/targetLanguage' Stock engine ID uuidtype: integer $refexample: '#/components/schemas/engineUuid'5 EngineCollectionStockEngineTimestamps: type: object required: - datacreated_at - meta properties: datacreated_at: type$ref: array'#/components/schemas/createdAt' items: updated_at: $ref: '#/components/schemas/EngineupdatedAt' targetLanguage: meta description: Target language code type: string $ref example: '#/components/schemas/CollectionMetadata'it engineIdtimestamp: description: Engine ID Timestamp in ISO 8601 format type: integerstring example: 10"2020-06-06T10:45:00+00:00" EngineInstanceTrainingJob: type: object required: - id - engine_id - dispatcher_urlpercentage - statustimestamps properties: id: $ref: '#/components/schemas/numericalId' engine_id: $ref: '#/components/schemas/numericalId'schemas/engineId' progress: engine_iddescription: Training progress as percentage. $ref: '#/components/schemas/engineId' type: integer dispatcher_urlnullable: true $ref example: '#/components/schemas/dispatcherUrl'60 statustimestamps: $ref: '#/components/schemas/engineInstanceStatusJobTimestamps' EngineInstanceCollectionTrainingJobCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/EngineInstanceTrainingJob' meta: $ref: '#/components/schemas/CollectionMetadata' engineInstanceStatusTranslationJob: type: stringobject enumrequired: - deployingid - error_removal_engine_manager_internal_errorfile_id - error_removal_engine_manager_rejected_requestproject_id - error_removaltimestamps properties: - on - queued - removing engineUuidid: type: string example: "21cfda50-1944-46fc-901c-04a168ea6fee" Error: $ref: '#/components/schemas/numericalId' type: object file_id: properties: error$ref: '#/components/schemas/fileId' typeproject_id: string example: "Error message."$ref: '#/components/schemas/projectId' requiredtimestamps: - error $ref: '#/components/schemas/JobTimestamps' GroupTranslationJobCollection: type: object required: - iddata - namemeta properties: iddata: $reftype: '#/components/schemas/groupId' array nameitems: type: string $ref: '#/components/schemas/TranslationJob' examplemeta: Default GroupCollection: type$ref: object'#/components/schemas/CollectionMetadata' requiredUpdateCorpus: type: object - data properties: dataname: type$ref: array'#/components/schemas/corpusName' itemsgroup_ids: $ref: '#/components/schemas/Group' groupId: corpusGroupIds' description: Group ID metadata: type: integer example$ref: 2'#/components/schemas/CorpusMetadata' LanguageUpdateCorpusContent: type: object required: - idfile properties: idfile: type: stringobject updatedAt: exampledescription: en-usUpdated timestamp in ISO 8601 LanguageCollection:format type: objectstring requirednullable: true example: - data - meta"2017-08-30T04:34:26+00:00" propertiesUpdateProject: datatype: object typeproperties: array itemsname: $ref: '#/components/schemas/LanguageprojectName' metaengine_id: $ref: '#/components/schemas/CollectionMetadatanullableEngineId' numericalId: descriptionengine_version: ID type: integer example: 10$ref: '#/components/schemas/nullableEngineVersion' RemoteDispatcherCollection: type: object required: stock_engine_id: - data $ref: '#/components/schemas/nullableStockEngineId' -UpdateEngine: meta propertiestype: object dataproperties: typename: array itemstype: string example: $ref: '#/components/schemas/RemoteDispatcher'Engine 1 metanote: $ref: '#/components/schemas/CollectionMetadataengineEventNote' RemoteDispatcher: published: type: object requiredtype: boolean - id example: true - region resources: - url $ref: '#/components/schemas/UpdateEngineResources' - timestamps propertiesUpdateEngineResources: idtype: object $ref: '#/components/schemas/dispatcherId'properties: regioncorpus_ids: $ref: '#/components/schemas/dispatcherRegionUpdateEngineResourcesCorpusIds' urlstock_corpora: $reftype: '#/components/schemas/dispatcherUrl'boolean timestampsdescription: Whether or not to use available stock corpora for training $ref: '#/components/schemas/RemoteDispatcherTimestamps'the engine. RemoteDispatcherTimestampsUpdateEngineResourcesCorpusIds: type: object requiredproperties: - created_atcore: type: array - updated_at propertiesitems: created_attype: string $refexample: [ '#/components/schemas/createdAt' '51fc7ea3fa889.b0027797', '54018363fa5c1.044227af' ] updated_at auxiliary: $reftype: '#/components/schemas/updatedAt' array sourceLanguage: items: description: Source language code type: string example: en-us example: targetLanguage: [ '5b04a7263fa509.77444794', '5b0412363fa5c1.c4354792' ] descriptionuserId: Target language code type: stringinteger example: it5 updatedAtuserName: descriptiontype: string Updated timestamp in ISO 8601 formatexample: John Doe typeuuid: string nullabletype: truestring example: "2017-08-30T04:34:26+00:0021cfda50-1944-46fc-901c-04a168ea6fee" |