New endpoints will continue to be published from time to time. |
The following parameters are required 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:
|
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 groups 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 groups 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 groups 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 corpus version for training Required permissions: `MANAGE_CORPORA` or `MANAGE_ENGINES` in any of the groups 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 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' - deprecated: true stock_engine_uuid: $ref: '#/components/schemas/nullableStockEngineUuid' target_language: $ref: '#/components/schemas/targetLanguage' timestamps: $ref: '#/components/schemas/ProjectTimestamps' ProjectActions: type: object description: An object describing the actions possible against a project. required: - delete - translate - update properties: delete: type: boolean translate: type: boolean update: type: boolean ProjectCat: type: object nullable: true description: An object describing the links to a CAT tool server and project. required: - project - server properties: project: $ref: '#/components/schemas/ProjectCatProject' server: $ref: '#/components/schemas/ProjectCatServer' ProjectCatProject: type: object required: - id - name properties: id: oneOf: - type: integer - type: string example: 849660f2-d081-4d7f-b266-f526ad073521 name: type: string example: My CAT server project ProjectCatServer: type: object required: - id - name - type properties: id: type: integer example: 5 name: type: string example: My CAT server connection type: $ref: '#/components/schemas/catToolServerType' ProjectCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/Project' meta: $ref: '#/components/schemas/CollectionMetadata' ProjectCounts: type: object required: - files properties: files: type: number example: 5 projectId: description: Project ID type: integer example: 30 projectName: type: string example: My Project ProjectStatus: type: string enum: - empty - new - queued - started - translated - translating ProjectTimestamps: type: object required: - created_at - updated_at properties: created_at: $ref: '#/components/schemas/createdAt' updated_at: $ref: '#/components/schemas/updatedAt' remoteCorpusId: description: The ID of the corpus on the CAT tool server. oneOf: - type: number - type: string example: "a6fd0c40-7b5c-48bf-89c2-629417b398cd" RemoteDispatcherCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/RemoteDispatcher' meta: $ref: '#/components/schemas/CollectionMetadata' RemoteDispatcher: type: object required: - id - region - url - timestamps properties: id: $ref: '#/components/schemas/dispatcherId' region: $ref: '#/components/schemas/dispatcherRegion' url: $ref: '#/components/schemas/dispatcherUrl' timestamps: $ref: '#/components/schemas/RemoteDispatcherTimestamps' RemoteDispatcherTimestamps: type: object required: - created_at - updated_at properties: created_at: $ref: '#/components/schemas/createdAt' updated_at: $ref: '#/components/schemas/updatedAt' sourceLanguage: description: Source language code type: string example: en-us StockEngine: type: object required: - id - source_language - target_language - version - timestamps properties: id: $ref: '#/components/schemas/stockEngineId' source_language: $ref: '#/components/schemas/sourceLanguage' target_language: $ref: '#/components/schemas/targetLanguage' version: type: string example: 4.1.0 timestamps: $ref: '#/components/schemas/StockEngineTimestamps' stockEngineId: description: Stock engine ID type: integer example: 5 StockEngineTimestamps: type: object required: - created_at properties: created_at: $ref: '#/components/schemas/createdAt' updated_at: $ref: '#/components/schemas/updatedAt' targetLanguage: description: Target language code type: string example: it timestamp: description: Timestamp in ISO 8601 format type: string example: "2020-06-06T10:45:00+00:00" TrainingJob: type: object required: - id - engine_id - percentage - timestamps properties: id: $ref: '#/components/schemas/numericalId' engine_id: $ref: '#/components/schemas/engineId' progress: description: Training progress as percentage. type: integer nullable: true example: 60 timestamps: $ref: '#/components/schemas/JobTimestamps' TrainingJobCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/TrainingJob' meta: $ref: '#/components/schemas/CollectionMetadata' TranslationJob: type: object required: - id - file_id - project_id - timestamps properties: id: $ref: '#/components/schemas/numericalId' file_id: $ref: '#/components/schemas/fileId' project_id: $ref: '#/components/schemas/projectId' timestamps: $ref: '#/components/schemas/JobTimestamps' TranslationJobCollection: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/TranslationJob' meta: $ref: '#/components/schemas/CollectionMetadata' UpdateCorpus: type: object properties: name: $ref: '#/components/schemas/corpusName' group_ids: $ref: '#/components/schemas/corpusGroupIds' metadata: $ref: '#/components/schemas/CorpusMetadata' UpdateCorpusContent: type: object required: - file properties: file: type: object updatedAt: description: Updated timestamp in ISO 8601 format type: string nullable: true example: "2017-08-30T04:34:26+00:00" UpdateProject: type: object properties: name: $ref: '#/components/schemas/projectName' engine_id: $ref: '#/components/schemas/nullableEngineId' engine_version: $ref: '#/components/schemas/nullableEngineVersion' stock_engine_id: $ref: '#/components/schemas/nullableStockEngineId' UpdateEngine: type: object properties: name: type: string example: Engine 1 note: $ref: '#/components/schemas/engineEventNote' published: type: boolean example: true resources: $ref: '#/components/schemas/UpdateEngineResources' UpdateEngineResources: type: object properties: corpus_ids: $ref: '#/components/schemas/UpdateEngineResourcesCorpusIds' stock_corpora: type: boolean description: Whether or not to use available stock corpora for training the engine. UpdateEngineResourcesCorpusIds: type: object properties: core: type: array items: type: string example: [ '51fc7ea3fa889.b0027797', '54018363fa5c1.044227af' ] auxiliary: type: array items: type: string example: [ '5b04a7263fa509.77444794', '5b0412363fa5c1.c4354792' ] userId: type: integer example: 5 userName: type: string example: John Doe uuid: type: string example: "21cfda50-1944-46fc-901c-04a168ea6fee" |