---
swagger: "2.0"
info:
  description: "Welcome to Phrase's TMS API documentation. \n\n Please visit our [help\
    \ center](https://support.phrase.com/hc/en-us/sections/5709662083612) for more\
    \ information about the APIs. \n\n If you have any questions, please contact [Support](https://support.phrase.com/hc/requests/new).\
    \ \n\n Please, include the `User-Agent` header with the name of your application\
    \ or project. It might be a good idea to include some sort of contact information\
    \ as well, so that we can get in touch if necessary. Examples of excellent `User-Agent`\
    \ headers:\n > User-Agent: Example mobile app (example@phrase.com) <br/> User-Agent:\
    \ ACME Inc Java 1.8 Client (http://acmeinc.com/contact)"
  version: "2"
  title: "Phrase TMS API"
host: "cloud.memsource.com"
basePath: "/web"
tags:
- name: "Analysis"
- name: "Bilingual File"
- name: "Connector"
- name: "Conversations"
- name: "Job"
- name: "Project"
- name: "Project Reference File"
- name: "Project Template"
- name: "Provider"
- name: "Quality Assurance"
- name: "Quote"
- name: "Term Base"
- name: "Translation"
- name: "Translation Memory"
- name: "User"
- name: "Webhook"
- name: "Workflow changes"
schemes:
- "https"
paths:
  /api2/v2/analyses:
    post:
      tags:
      - "Analysis"
      summary: "Create analysis"
      description: "Returns created analyses - batching analyses by number of segments\
        \ (api.segment.count.approximation, default 100000), in case request contains\
        \ more segments than maximum (api.segment.max.count, default 300000), returns\
        \ 400 bad request."
      operationId: "createAnalyseAsyncV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateAnalyseAsyncV2Dto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AsyncAnalyseListResponseV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/analyses/bulk:
    put:
      tags:
      - "Analysis"
      summary: "Edit analyses (batch)"
      description: "If no netRateScheme is provided in request, then netRateScheme\
        \ associated with provider will\nbe used if it exists, otherwise it will remain\
        \ the same as it was."
      operationId: "analyses-batchEdit-v2"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/BulkEditAnalyseV2Dto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AnalysesV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/analyses/{analyseUid}:
    get:
      tags:
      - "Analysis"
      summary: "Get analysis"
      description: ""
      operationId: "getAnalyseV2"
      produces:
      - "application/json"
      parameters:
      - name: "analyseUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AnalyseV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Analysis"
      summary: "Edit analysis"
      description: "If no netRateScheme is provided in\nrequest, then netRateScheme\
        \ associated with provider will be used if it exists, otherwise it will remain\
        \ the same\nas it was."
      operationId: "editAnalysis"
      produces:
      - "application/json"
      parameters:
      - name: "analyseUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/EditAnalyseV2Dto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AnalyseV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/bilingualFiles:
    post:
      tags:
      - "Bilingual File"
      summary: "Upload bilingual file"
      description: "Returns updated job parts and projects"
      operationId: "uploadBilingualFileV2"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - name: "saveToTransMemory"
        in: "query"
        required: false
        type: "string"
        default: "Confirmed"
        enum:
        - "All"
        - "Confirmed"
        - "None"
      - name: "setCompleted"
        in: "query"
        required: false
        type: "boolean"
        default: false
      - in: "body"
        name: "multipart"
        description: "Multipart request with files"
        required: true
        schema:
          $ref: "#/definitions/UploadBilingualFileRequestDto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectJobPartsDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/connectors/{connectorId}/folders/{folder}/files/{fileName}/upload:
    post:
      tags:
      - "Connector"
      summary: "Upload file (async)"
      description: "Upload a file to a subfolder of the selected connector"
      operationId: "uploadFileV2"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - name: "connectorId"
        in: "path"
        required: true
        type: "string"
      - name: "folder"
        in: "path"
        required: true
        type: "string"
      - name: "fileName"
        in: "path"
        required: true
        type: "string"
      - name: "mimeType"
        in: "query"
        description: "Mime type of the file to upload"
        required: false
        type: "string"
      - name: "Memsource"
        in: "header"
        required: true
        type: "string"
        format: "application/json"
        x-example: "{\"subfolderName\":\"myFolder\",\"commitMessage\":\"add translation\"\
          ,\"callbackUrl\":\"https://webhook.site/83b222a1-5cf2-48ec-b8b9-7f79bb2a25e4\"\
          }"
      - name: "Content-Type"
        in: "header"
        required: true
        type: "string"
        enum:
        - "multipart/form-data"
      - name: "file"
        in: "formData"
        description: "Translated file to upload"
        required: true
        type: "file"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AsyncFileOpResponseDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/connectors/{connectorId}/folders/{folder}/files/{file}:
    post:
      tags:
      - "Connector"
      summary: "Download file (async)"
      description: "\nCreate an asynchronous request to download a file from a (sub)folder\
        \ of the selected connector. \nAfter a callback with successful response is\
        \ received, prepared file can be downloaded by [Download prepared file](#operation/getPreparedFile)\
        \ \nor [Create job from connector asynchronous download task](#operation/createJobFromAsyncDownloadTask).\n"
      operationId: "getFileForConnectorV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "connectorId"
        in: "path"
        required: true
        type: "string"
      - name: "folder"
        in: "path"
        required: true
        type: "string"
      - name: "file"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/GetFileRequestParamsDto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AsyncFileOpResponseDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/connectors/{connectorId}/folders/{folder}/files/{file}/tasks/{taskId}:
    get:
      tags:
      - "Connector"
      summary: "Download prepared file"
      description: "Download the file by referencing successfully finished async download\
        \ request [Connector - Download file (async)](#operation/getFile_1)."
      operationId: "getPreparedFile"
      produces:
      - "application/octet-stream"
      parameters:
      - name: "connectorId"
        in: "path"
        required: true
        type: "string"
      - name: "folder"
        in: "path"
        required: true
        type: "string"
      - name: "file"
        in: "path"
        required: true
        type: "string"
      - name: "taskId"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/InputStreamLength"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/jobs/workflowChanges:
    post:
      tags:
      - "Workflow changes"
      summary: "Download workflow changes report"
      description: ""
      operationId: "downloadWorkflowChanges"
      produces:
      - "text/html"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/WorkflowChangesDto"
      responses:
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/jobs/{jobUid}/conversations/lqas:
    post:
      tags:
      - "Conversations"
      summary: "Create LQA conversation"
      description: ""
      operationId: "createLqaConversationV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateLqaConversationDto"
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/LQAConversationDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/jobs/{jobUid}/conversations/lqas/{conversationId}:
    put:
      tags:
      - "Conversations"
      summary: "Update LQA conversation"
      description: ""
      operationId: "updateLqaConversationV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - name: "conversationId"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/EditLqaConversationDto"
      responses:
        "202":
          description: "Updated"
          schema:
            $ref: "#/definitions/LQAConversationDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/jobs/{jobUid}/conversations/lqas/{conversationId}/comments:
    post:
      tags:
      - "Conversations"
      summary: "Add LQA comment"
      description: ""
      operationId: "addLQACommentV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - name: "conversationId"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/AddCommentDto"
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/AddLqaCommentResultDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/jobs/{jobUid}/conversations/lqas/{conversationId}/comments/{commentId}:
    put:
      tags:
      - "Conversations"
      summary: "Edit LQA comment"
      description: ""
      operationId: "updateLQACommentV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - name: "conversationId"
        in: "path"
        required: true
        type: "string"
      - name: "commentId"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/AddCommentDto"
      responses:
        "202":
          description: "Updated"
          schema:
            $ref: "#/definitions/LQAConversationDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/lqa/profiles/authors:
    get:
      tags:
      - "Quality Assurance"
      summary: "Get list of LQA profile authors"
      description: ""
      operationId: "getLqaProfileAuthorsV2"
      produces:
      - "application/json"
      parameters:
      - name: "pageNumber"
        in: "query"
        description: "Page number, starting with 0, default 0"
        required: false
        type: "integer"
        default: 0
        minimum: 0
        format: "int32"
      - name: "pageSize"
        in: "query"
        description: "Page size, accepts values between 1 and 50, default 20"
        required: false
        type: "integer"
        default: 20
        maximum: 50
        minimum: 1
        format: "int32"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PageDtoUserReference"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projectTemplates/{projectTemplateUid}:
    put:
      tags:
      - "Project Template"
      summary: "Edit project template"
      description: ""
      operationId: "editProjectTemplateV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectTemplateUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/ProjectTemplateEditV2Dto"
      responses:
        "200":
          description: "Edited"
          schema:
            $ref: "#/definitions/ProjectTemplate"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projectTemplates/{projectTemplateUid}/preTranslateSettings:
    get:
      tags:
      - "Project Template"
      summary: "Get Pre-translate settings"
      description: ""
      operationId: "getPreTranslateSettingsForProjectTemplate"
      produces:
      - "application/json"
      parameters:
      - name: "projectTemplateUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PreTranslateSettingsV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Project Template"
      summary: "Update Pre-translate settings"
      description: ""
      operationId: "updatePreTranslateSettingsForProjectTemplate"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectTemplateUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/PreTranslateSettingsV2Dto"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PreTranslateSettingsV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projectTemplates/{projectTemplateUid}/transMemories:
    get:
      tags:
      - "Project Template"
      - "Translation Memory"
      summary: "Get translation memories"
      description: ""
      operationId: "getProjectTemplateTransMemories"
      produces:
      - "application/json"
      parameters:
      - name: "targetLang"
        in: "query"
        description: "Filter project translation memories by target language"
        required: false
        type: "string"
      - name: "wfStepUid"
        in: "query"
        description: "Filter project translation memories by workflow step"
        required: false
        type: "string"
      - name: "definePriority"
        in: "query"
        required: false
        type: "boolean"
      - name: "projectTemplateUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectTemplateTransMemoriesPerTargetLangListDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Project Template"
      summary: "Edit translation memories"
      description: "If user wants to edit “All target languages” or \"All workflow\
        \ steps”, \n                       but there are already varied TM settings\
        \ for individual languages or steps, \n                       then the user\
        \ risks to overwrite these individual choices."
      operationId: "setProjectTemplateTransMemoriesV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectTemplateUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/SetProjectTemplateTransMemoriesV2Dto"
      responses:
        "200":
          description: "OK"
          schema:
            $ref: "#/definitions/ProjectTemplateTransMemoryListV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects:
    post:
      tags:
      - "Project"
      summary: "Create project"
      description: ""
      operationId: "createProjectV2"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateProjectV2Dto"
      deprecated: true
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/AbstractProjectDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/applyTemplate/async/{templateUid}:
    post:
      tags:
      - "Project"
      - "Project Template"
      summary: "Create project from template (async)"
      description: ""
      operationId: "createProjectFromTemplateV2Async"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "templateUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateProjectFromTemplateAsyncV2Dto"
      responses:
        "202":
          description: "Accepted"
          schema:
            $ref: "#/definitions/AsyncRequestWrapperV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/applyTemplate/{templateUid}:
    post:
      tags:
      - "Project"
      - "Project Template"
      summary: "Create project from template"
      description: ""
      operationId: "createProjectFromTemplateV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "templateUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateProjectFromTemplateV2Dto"
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/AbstractProjectDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}:
    put:
      tags:
      - "Project"
      summary: "Edit project"
      description: ""
      operationId: "editProjectV2"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/EditProjectV2Dto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AbstractProjectDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/accessSettings:
    get:
      tags:
      - "Project"
      summary: "Get access and security settings"
      description: ""
      operationId: "getProjectAccessSettingsV2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectSecuritySettingsDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Project"
      summary: "Edit access and security settings"
      description: ""
      operationId: "editProjectAccessSettingsV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/EditProjectSecuritySettingsDtoV2"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectSecuritySettingsDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/analyses:
    get:
      tags:
      - "Project"
      - "Analysis"
      summary: "List analyses by project"
      description: ""
      operationId: "listByProjectV2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "pageNumber"
        in: "query"
        required: false
        type: "integer"
        default: 0
        minimum: 0
        format: "int32"
      - name: "pageSize"
        in: "query"
        description: "Page size, accepts values between 1 and 50, default 50"
        required: false
        type: "integer"
        default: 50
        maximum: 50
        minimum: 1
        format: "int32"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PageDtoAnalyseV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs:
    get:
      tags:
      - "Job"
      summary: "List jobs"
      description: "\nAPI call to return a paginated list of [jobs](https://support.phrase.com/hc/en-us/articles/5709686763420-Jobs-TMS-)\n\
        in the given project.\n\nUse the query parameters to further narrow down the\
        \ searching criteria.\n\n- **pageNumber** - A zero-based parameter indicating\
        \ the page number you wish to retrieve. The total number of pages is\nreturned\
        \ in each response in the `totalPages` field in the top level of the response.\n\
        - **pageSize** - A parameter indicating the size of the page you wish to return.\n\
        This has direct effect on the `totalPages`\nretrieved in each response and\
        \ can hence influence the number of times to iterate over to get all the jobs.\n\
        - **count** - When set to `true`, the response will not contain the list of\
        \ jobs (the `content` field) but only the\ncounts of elements and pages. Can\
        \ be used to quickly retrieve the number of elements and pages to iterate\
        \ over.\n- **workflowLevel** - A non-zero based parameter indicating which\n\
        [workflow steps](https://support.phrase.com/hc/en-us/articles/5709717879324-Workflow-TMS-)\n\
        the returned jobs belong to. If left unspecified, its value is set to 1.\n\
        - **status** - A parameter allowing for filtering only for jobs in a specific\
        \ status.\n- **assignedUser** - A parameter allowing for filtering only for\
        \ jobs assigned to a specific user.\nThe parameter accepts a user ID.\n- **dueInHours**\
        \ - A parameter allowing for filtering only for jobs whose due date is less\
        \ or equal to the number\n of hours specified.\n- **filename** - A parameter\
        \ allowing for filtering only for jobs with a specific file name.\n- **targetLang**\
        \ - A parameter allowing for filtering only for jobs with a specific target\
        \ language.\n- **assignedVendor** - A parameter allowing for filtering only\
        \ for jobs assigned to a specific vendor.\nThe parameter accepts a user ID.\n\
        - **notReady** - A parameter allowing for filtering only jobs that have been\
        \ imported. When set to `true` the response\n will only contain jobs that\
        \ have not been imported yet.\n This will also return jobs that have not been\
        \ imported correctly, e.g. due to an error.\n"
      operationId: "listPartsV2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "pageNumber"
        in: "query"
        required: false
        type: "integer"
        default: 0
        minimum: 0
        format: "int32"
      - name: "pageSize"
        in: "query"
        required: false
        type: "integer"
        default: 50
        maximum: 50
        minimum: 1
        format: "int32"
      - name: "count"
        in: "query"
        required: false
        type: "boolean"
        default: false
      - name: "workflowLevel"
        in: "query"
        required: false
        type: "integer"
        default: 1
        maximum: 15
        minimum: 1
        format: "int32"
      - name: "status"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "NEW"
          - "ACCEPTED"
          - "DECLINED"
          - "REJECTED"
          - "DELIVERED"
          - "EMAILED"
          - "COMPLETED"
          - "CANCELLED"
        collectionFormat: "multi"
      - name: "assignedUser"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
      - name: "dueInHours"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
      - name: "filename"
        in: "query"
        required: false
        type: "string"
      - name: "targetLang"
        in: "query"
        required: false
        type: "string"
      - name: "assignedVendor"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
      - name: "notReady"
        in: "query"
        required: false
        type: "boolean"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PageDtoJobPartReferenceV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/preTranslate:
    post:
      tags:
      - "Translation"
      summary: "Pre-translate job"
      description: ""
      operationId: "preTranslate"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/PreTranslateJobsV2Dto"
      deprecated: true
      responses:
        "202":
          description: "Accepted"
          schema:
            $ref: "#/definitions/AsyncRequestWrapperV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/pseudoTranslate:
    post:
      tags:
      - "Job"
      summary: "Pseudo-translate job"
      description: ""
      operationId: "pseudoTranslateV2"
      produces:
      - "*/*"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/PseudoTranslateWrapperDto"
      responses:
        "204":
          description: "No Content"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/qualityAssurances/ignoredWarnings:
    post:
      tags:
      - "Quality Assurance"
      summary: "Add ignored warnings"
      description: ""
      operationId: "addIgnoredWarningsV2"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/UpdateIgnoredWarningsDto_2"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/UpdateIgnoredWarningsDto_2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    delete:
      tags:
      - "Quality Assurance"
      summary: "Delete ignored warnings"
      description: ""
      operationId: "deleteIgnoredWarningsV2"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/UpdateIgnoredWarningsDto_2"
      responses:
        "204":
          description: "No Content"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/qualityAssurances/run:
    post:
      tags:
      - "Quality Assurance"
      summary: "Run quality assurance (batch)"
      description: "Call \"Get QA settings\" endpoint to get the list of enabled QA\
        \ checks"
      operationId: "runQaForJobPartsV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/QualityAssuranceBatchRunDtoV2"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/QualityAssuranceResponse"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/qualityAssurances/segments/run:
    post:
      tags:
      - "Quality Assurance"
      summary: "Run quality assurance on selected segments"
      description: "Source and target language of jobs have to match"
      operationId: "runQaForSegments"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/QualityAssuranceSegmentsRunDto"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/QualityAssuranceResponse"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/qualityAssurances/settings:
    get:
      tags:
      - "Quality Assurance"
      summary: "Get QA settings"
      description: "Returns enabled quality assurance checks and settings."
      operationId: "enabledQualityChecksForProject"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          examples:
            application/json:
              forbiddenStrings:
              - "string"
              enabledChecks:
              - checkerType: "EmptyTranslation"
                ignorable: false
                instant: false
              - checkerType: "TrailingPunctuation"
                ignorable: false
                instant: false
              - checkerType: "Formatting"
                ignorable: false
                instant: false
              - checkerType: "JoinTags"
                ignorable: false
                instant: false
              - checkerType: "MissingNumbers"
                ignorable: false
                instant: false
              - checkerType: "MultipleSpaces"
                ignorable: false
                instant: false
              - checkerType: "NonConformingTerm"
                ignorable: false
                instant: false
              - checkerType: "NotConfirmed"
                ignorable: false
                instant: false
              - checkerType: "TranslationLength"
                ignorable: false
              - checkerType: "AbsoluteLength"
                ignorable: false
                instant: false
              - checkerType: "RelativeLength"
                ignorable: false
                instant: false
              - checkerType: "EmptyPairTags"
                ignorable: false
                instant: false
              - checkerType: "InconsistentTranslationTargetSource"
                ignorable: true
                instant: false
              - checkerType: "InconsistentTranslationSourceTarget"
                ignorable: true
                instant: false
              - checkerType: "ForbiddenString"
                ignorable: false
                instant: false
              - checkerType: "SpellCheck"
                ignorable: false
                instant: false
              - checkerType: "RepeatedWords"
                ignorable: false
                instant: false
              - checkerType: "InconsistentTagContent"
                ignorable: false
                instant: false
              - checkerType: "EmptyTagContent"
                ignorable: false
                instant: false
              - checkerType: "Malformed"
                ignorable: false
                instant: false
              - checkerType: "ForbiddenTerm"
                ignorable: false
                instant: false
              - checkerType: "NewerAtLowerLevel"
                ignorable: false
                instant: false
              - checkerType: "LeadingAndTrailingSpaces"
                ignorable: false
                instant: false
              - checkerType: "TargetSourceIdentical"
                ignorable: false
                instant: false
              - checkerType: "SourceOrTargetRegexp"
              - checkerType: "UnmodifiedFuzzyTranslationTM"
                ignorable: true
                instant: false
              - checkerType: "UnmodifiedFuzzyTranslationMTNT"
                ignorable: true
                instant: false
              - checkerType: "Moravia"
                ignorable: false
                instant: false
                context:
                  moraviaProfileId: "MoraviaProfileIdValue"
              - checkerType: "ExtraNumbers"
                ignorable: true
                instant: false
              - checkerType: "UnresolvedConversation"
                ignorable: false
              - checkerType: "NestedTags"
                ignorable: false
                instant: false
              excludeLockedSegments: true
              userCanSetInstantQA: true
              strictJobStatus: true
              regexpRules:
              - description: "string"
                sourceRegexp: "string"
                targetRegexp: "string"
                id: "string"
                ignorable: true
                instant: true
          schema:
            $ref: "#/definitions/QualityAssuranceChecksDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/translations:
    delete:
      tags:
      - "Job"
      summary: "Delete specific translations"
      description: ""
      operationId: "deleteAllTranslationsV2"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/JobPartReadyDeleteTranslationDto"
      responses:
        "204":
          description: "No Content"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/webEditor:
    post:
      tags:
      - "Job"
      summary: "Get Web Editor URL"
      description: "\nPossible warning codes are:\n  - `NOT_ACCEPTED_BY_LINGUIST`\
        \ - Job is not accepted by linguist\n  - `NOT_ASSIGNED_TO_LINGUIST` - Job\
        \ is not assigned to linguist\n  - `PDF` - One of requested jobs is PDF\n\
        \  - `PREVIOUS_WORKFLOW_NOT_COMPLETED` - Previous workflow step is not completed\n\
        \  - `PREVIOUS_WORKFLOW_NOT_COMPLETED_STRICT` - Previous workflow step is\
        \ not completed and project has strictWorkflowFinish set to true\n  - `IN_DELIVERED_STATE`\
        \ - Jobs in DELIVERED state\n  - `IN_COMPLETED_STATE` - Jobs in COMPLETED\
        \ state\n  - `IN_REJECTED_STATE` - Jobs in REJECTED state\n\nPossible error\
        \ codes are:\n  - `ASSIGNED_TO_OTHER_USER` - Job is accepted by other user\n\
        \  - `NOT_UNIQUE_TARGET_LANG` - Requested jobs contains different target locales\n\
        \  - `TOO_MANY_SEGMENTS` - Count of requested job's segments is higher than\
        \ **40000**\n  - `TOO_MANY_JOBS` - Count of requested jobs is higher than\
        \ **290**\n  - `COMPLETED_JOINED_WITH_OTHER` - Jobs in COMPLETED state cannot\
        \ be joined with jobs in other states\n  - `DELIVERED_JOINED_WITH_OTHER` -\
        \ Jobs in DELIVERED state cannot be joined with jobs in other states\n  -\
        \ `REJECTED_JOINED_WITH_OTHER` - Jobs in REJECTED state cannot be joined with\
        \ jobs in other states\n\nWarning response example:\n```\n{\n    \"warnings\"\
        : [\n        {\n            \"message\": \"Not accepted by linguist\",\n \
        \           \"args\": {\n                \"jobs\": [\n                   \
        \ \"abcd1234\"\n                ]\n            },\n            \"code\": \"\
        NOT_ACCEPTED_BY_LINGUIST\"\n        },\n        {\n            \"message\"\
        : \"Previous workflow step not completed\",\n            \"args\": {\n   \
        \             \"jobs\": [\n                    \"abcd1234\"\n            \
        \    ]\n            },\n            \"code\": \"PREVIOUS_WORKFLOW_NOT_COMPLETED\"\
        \n        }\n    ],\n    \"url\": \"/web/job/abcd1234-efgh5678/translate\"\
        \n}\n```\n\nError response example:\nStatus: `400 Bad Request`\n```\n{\n \
        \   \"errorCode\": \"NOT_UNIQUE_TARGET_LANG\",\n    \"errorDescription\":\
        \ \"Only files with identical target languages can be joined\",\n    \"errorDetails\"\
        : [\n        {\n            \"code\": \"NOT_UNIQUE_TARGET_LANG\",\n      \
        \      \"args\": {\n                \"targetLocales\": [\n               \
        \     \"de\",\n                    \"en\"\n                ]\n           \
        \ },\n            \"message\": \"Only files with identical target languages\
        \ can be joined\"\n        },\n        {\n            \"code\": \"TOO_MANY_SEGMENTS\"\
        ,\n            \"args\": {\n                \"maxSegments\": 40000,\n    \
        \            \"segments\": 400009\n            },\n            \"message\"\
        : \"Up to 40000 segments can be opened in the CAT Web Editor, job has 400009\
        \ segments\"\n        }\n    ]\n}\n```\n"
      operationId: "webEditorLinkV2"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateWebEditorLinkDtoV2"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/WebEditorLinkDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/analyses:
    get:
      tags:
      - "Analysis"
      - "Job"
      summary: "List analyses"
      description: ""
      operationId: "listPartAnalyseV2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "pageNumber"
        in: "query"
        required: false
        type: "integer"
        default: 0
        minimum: 0
        format: "int32"
      - name: "pageSize"
        in: "query"
        required: false
        type: "integer"
        default: 50
        maximum: 50
        minimum: 1
        format: "int32"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PageDtoAnalyseV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/downloadTargetFile/{asyncRequestId}:
    get:
      tags:
      - "Job"
      summary: "Download target file based on async request"
      description: "\nThis call will return target file with translation. This means\
        \ even for other jobs that were created via\n'split jobs' etc.\n\nThe asyncRequestId\
        \ can be used only once. Once the download is initiated , the asyncRequestId\
        \ becomes\ninvalid for further use.\n"
      operationId: "downloadCompletedFile"
      produces:
      - "application/octet-stream"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - name: "asyncRequestId"
        in: "path"
        required: true
        type: "string"
      - name: "format"
        in: "query"
        required: false
        type: "string"
        default: "ORIGINAL"
        enum:
        - "ORIGINAL"
        - "PDF"
      responses:
        "200":
          description: "application/octet-stream"
          headers:
            Content-Disposition:
              type: "string"
              description: "Contains filename (UTF-8 encoded). \n\n `filename*=UTF-8''ExampleFileName.md`"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/providers/suggest:
    post:
      tags:
      - "Provider"
      - "Job"
      summary: "Get suggested providers"
      description: ""
      operationId: "listProviders_1"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProviderListDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/qualityAssurances/run:
    post:
      tags:
      - "Quality Assurance"
      summary: "Run quality assurance"
      description: "Call \"Get QA settings\" endpoint to get the list of enabled QA\
        \ checks"
      operationId: "runQaForJobPartV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/QualityAssuranceRunDtoV2"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/QualityAssuranceResponse"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/qualityAssurances/settings:
    get:
      tags:
      - "Quality Assurance"
      summary: "Get QA settings for job"
      description: "Returns enabled quality assurance checks and settings for job."
      operationId: "enabledQualityChecksForJob"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          examples:
            application/json:
              forbiddenStrings:
              - "string"
              enabledChecks:
              - checkerType: "EmptyTranslation"
                ignorable: false
                instant: false
              - checkerType: "TrailingPunctuation"
                ignorable: false
                instant: false
              - checkerType: "Formatting"
                ignorable: false
                instant: false
              - checkerType: "JoinTags"
                ignorable: false
                instant: false
              - checkerType: "MissingNumbers"
                ignorable: false
                instant: false
              - checkerType: "MultipleSpaces"
                ignorable: false
                instant: false
              - checkerType: "NonConformingTerm"
                ignorable: false
                instant: false
              - checkerType: "NotConfirmed"
                ignorable: false
                instant: false
              - checkerType: "TranslationLength"
                ignorable: false
              - checkerType: "AbsoluteLength"
                ignorable: false
                instant: false
              - checkerType: "RelativeLength"
                ignorable: false
                instant: false
              - checkerType: "EmptyPairTags"
                ignorable: false
                instant: false
              - checkerType: "InconsistentTranslationTargetSource"
                ignorable: true
                instant: false
              - checkerType: "InconsistentTranslationSourceTarget"
                ignorable: true
                instant: false
              - checkerType: "ForbiddenString"
                ignorable: false
                instant: false
              - checkerType: "SpellCheck"
                ignorable: false
                instant: false
              - checkerType: "RepeatedWords"
                ignorable: false
                instant: false
              - checkerType: "InconsistentTagContent"
                ignorable: false
                instant: false
              - checkerType: "EmptyTagContent"
                ignorable: false
                instant: false
              - checkerType: "Malformed"
                ignorable: false
                instant: false
              - checkerType: "ForbiddenTerm"
                ignorable: false
                instant: false
              - checkerType: "NewerAtLowerLevel"
                ignorable: false
                instant: false
              - checkerType: "LeadingAndTrailingSpaces"
                ignorable: false
                instant: false
              - checkerType: "TargetSourceIdentical"
                ignorable: false
                instant: false
              - checkerType: "SourceOrTargetRegexp"
              - checkerType: "UnmodifiedFuzzyTranslationTM"
                ignorable: true
                instant: false
              - checkerType: "UnmodifiedFuzzyTranslationMTNT"
                ignorable: true
                instant: false
              - checkerType: "Moravia"
                ignorable: false
                instant: false
                context:
                  moraviaProfileId: "MoraviaProfileIdValue"
              - checkerType: "ExtraNumbers"
                ignorable: true
                instant: false
              - checkerType: "UnresolvedConversation"
                ignorable: false
              - checkerType: "NestedTags"
                ignorable: false
                instant: false
              excludeLockedSegments: true
              userCanSetInstantQA: true
              strictJobStatus: true
              regexpRules:
              - description: "string"
                sourceRegexp: "string"
                targetRegexp: "string"
                id: "string"
                ignorable: true
                instant: true
          schema:
            $ref: "#/definitions/QualityAssuranceChecksDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/targetFile:
    put:
      tags:
      - "Job"
      summary: "Download target file (async)"
      description: "\nThis call initiates an asynchronous request to generate and\
        \ download the target file containing translations.\nThis request covers jobs\
        \ created via actions like 'split jobs', ensuring accessibility even for such\
        \ cases.\n\nTo monitor the status of this asynchronous request, you have two\
        \ options:\n1. Use [Get asynchronous request](#operation/getAsyncRequest).\n\
        2. Search for the asyncRequestId by utilizing [List pending requests](#operation/listPendingRequests).\n\
        \nIn contrast to the previous version (v1) of this call, v2 does not directly\
        \ provide the target file within the response.\nOnce the asynchronous request\
        \ is completed, you can download the target file using\n[Download target file\
        \ based on async request](#operation/downloadCompletedFile).\n\n_Note_: The\
        \ asyncRequestId can be used only once. Once the download is initiated through\
        \ `Download target file based on\nasync request`, the asyncRequestId becomes\
        \ invalid for further use.\n"
      operationId: "completedFileV2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "202":
          description: "Accepted"
          schema:
            $ref: "#/definitions/AsyncRequestWrapperV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/termBases/searchByJob:
    post:
      tags:
      - "Term Base"
      - "Job"
      summary: "Search job's term bases"
      description: "Search all read term bases assigned to the job"
      operationId: "searchTermsByJobV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/SearchTbByJobRequestDto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/SearchTbResponseListDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/termBases/searchInTextByJob:
    post:
      tags:
      - "Term Base"
      - "Job"
      summary: "Search terms in text"
      description: "Search in text in all read term bases assigned to the job"
      operationId: "searchTermsInTextByJobV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/SearchTbInTextByJobRequestDto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/SearchInTextResponseList2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/transMemories/search:
    post:
      tags:
      - "Job"
      summary: "Search job's translation memories"
      description: ""
      operationId: "searchByJob2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/SearchTMByJobRequestDtoV2"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/SearchResponseListTmDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/jobs/{jobUid}/transMemories/wildCardSearch:
    post:
      tags:
      - "Job"
      - "Translation Memory"
      summary: "Wildcard search job's translation memories"
      description: ""
      operationId: "wildCardSearchByJob2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "jobUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/WildCardSearchByJobRequestDtoV2"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/SearchResponseListTmDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/preTranslateSettings:
    get:
      tags:
      - "Project"
      summary: "Get Pre-translate settings"
      description: ""
      operationId: "getPreTranslateSettingsForProject"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PreTranslateSettingsV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Project"
      summary: "Update Pre-translate settings"
      description: ""
      operationId: "editProjectPreTranslateSettings"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/PreTranslateSettingsV2Dto"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PreTranslateSettingsV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/providers/suggest:
    post:
      tags:
      - "Project"
      - "Provider"
      summary: "Get suggested providers"
      description: ""
      operationId: "listProviders"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProviderListDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/qaSettings:
    put:
      tags:
      - "Project"
      summary: "Edit quality assurance settings"
      description: ""
      operationId: "setProjectQASettingsV2"
      consumes:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/EditQASettingsDtoV2"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/QASettingsDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/references:
    post:
      tags:
      - "Project Reference File"
      summary: "Create project reference files"
      description: "\nThe `json` request part allows sending additional data as JSON,\n\
        such as a text note that will be used for all the given reference files.\n\
        In case no `file` parts are sent, only 1 reference is created with the given\
        \ note.\nEither at least one file must be sent or the note must be specified.\n\
        Example:\n\n```\n{\n    \"note\": \"Sample text\"\n}\n```\n"
      operationId: "createReferenceFiles"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "multipart"
        description: "Multipart request with files and JSON"
        required: true
        schema:
          $ref: "#/definitions/CreateReferenceFilesRequest"
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/ReferenceFilesDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/transMemories:
    get:
      tags:
      - "Project"
      - "Translation Memory"
      summary: "Get translation memories"
      description: ""
      operationId: "getProjectTransMemoriesV2"
      produces:
      - "application/json"
      parameters:
      - name: "targetLang"
        in: "query"
        description: "Filter project translation memories by target language"
        required: false
        type: "string"
      - name: "wfStepUid"
        in: "query"
        description: "Filter project translation memories by workflow step"
        required: false
        type: "string"
      - name: "definePriority"
        in: "query"
        required: false
        type: "boolean"
      - name: "getAllInSharedProject"
        in: "query"
        description: "Get all TMs in shared project (TM assigned from vendor and buyer)"
        required: false
        type: "boolean"
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectTransMemoriesPerTargetLangListDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Project"
      summary: "Edit translation memories"
      description: ""
      operationId: "setProjectTransMemoriesV2"
      consumes:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/SetProjectTransMemoriesV2Dto"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectTransMemoryListDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/projects/{projectUid}/workflowSteps:
    get:
      tags:
      - "Project"
      summary: "Get workflow steps"
      description: ""
      operationId: "getProjectWorkflowStepsV2"
      produces:
      - "application/json"
      parameters:
      - name: "projectUid"
        in: "path"
        required: true
        type: "string"
      - name: "withAssignedJobs"
        in: "query"
        description: "Return only steps containing jobs assigned to the calling linguist."
        required: false
        type: "boolean"
        default: false
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProjectWorkflowStepListDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/quotes:
    post:
      tags:
      - "Quote"
      summary: "Create quote"
      description: "Either WorkflowSettings or Units must be sent for billingUnit\
        \ \"Hour\"."
      operationId: "createQuoteV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/QuoteCreateV2Dto"
      responses:
        "201":
          description: "successful operation"
          schema:
            $ref: "#/definitions/QuoteV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/termBases/{termBaseUid}/upload:
    post:
      tags:
      - "Term Base"
      summary: "Upload term base"
      description: "\nTerms can be imported from XLS/XLSX and TBX file formats into\
        \ a term base.\nSee <a target=\"_blank\" href=\"https://support.phrase.com/hc/en-us/articles/5709733372188\"\
        >Phrase Help Center</a>\n"
      operationId: "importTermBaseV2"
      consumes:
      - "application/octet-stream"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/InputStream"
      - name: "Content-Disposition"
        in: "header"
        description: "must match pattern `((inline|attachment); )?filename\\*=UTF-8''(.+)`"
        required: true
        type: "string"
      - name: "termBaseUid"
        in: "path"
        required: true
        type: "string"
      - name: "charset"
        in: "query"
        required: false
        type: "string"
        default: "UTF-8"
      - name: "strictLangMatching"
        in: "query"
        required: false
        type: "boolean"
        default: false
      - name: "updateTerms"
        in: "query"
        required: false
        type: "boolean"
        default: true
      responses:
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/transMemories/{transMemoryUid}/export:
    post:
      tags:
      - "Translation Memory"
      summary: "Export translation memory"
      description: "Use [this API](#operation/downloadSearchResult) to download result"
      operationId: "exportV2"
      produces:
      - "application/json"
      parameters:
      - name: "transMemoryUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/ExportTMDto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AsyncExportTMResponseDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/transMemories/{transMemoryUid}/import:
    post:
      tags:
      - "Translation Memory"
      summary: "Import TMX"
      description: ""
      operationId: "importTransMemoryV2"
      consumes:
      - "application/octet-stream"
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - name: "Content-Length"
        in: "header"
        required: false
        type: "integer"
        format: "int64"
      - name: "transMemoryUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/InputStream"
      - name: "Content-Disposition"
        in: "header"
        description: "must match pattern `((inline|attachment); )?filename\\*=UTF-8''(.+)`"
        required: true
        type: "string"
      - name: "strictLangMatching"
        in: "query"
        required: false
        type: "boolean"
        default: false
      - name: "stripNativeCodes"
        in: "query"
        required: false
        type: "boolean"
        default: true
      - name: "excludeNotConfirmedSegments"
        in: "query"
        required: false
        type: "boolean"
        default: false
      responses:
        "202":
          description: "successful operation"
          schema:
            $ref: "#/definitions/AsyncRequestWrapperV2Dto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/transMemories/{transMemoryUid}/segments:
    delete:
      tags:
      - "Translation Memory"
      summary: "Delete all segments."
      description: "This call is **asynchronous**, use [this API](#operation/getAsyncRequest)\
        \ to check the result"
      operationId: "clearTransMemoryV2"
      produces:
      - "application/json"
      parameters:
      - name: "transMemoryUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "202":
          description: "Accepted"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/users:
    post:
      tags:
      - "User"
      summary: "Create user"
      description: ""
      operationId: "createUserV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/UserCreateDtoV2"
      deprecated: true
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/UserDetailsDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/users/{userUid}:
    get:
      tags:
      - "User"
      summary: "Get user"
      description: ""
      operationId: "getUserV2"
      produces:
      - "application/json"
      parameters:
      - name: "userUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserDetailsDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "User"
      summary: "Edit user"
      description: ""
      operationId: "updateUserV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/UserEditDtoV2"
      - name: "userUid"
        in: "path"
        required: true
        type: "string"
      deprecated: true
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserDetailsDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/webhooks:
    get:
      tags:
      - "Webhook"
      summary: "Lists webhooks"
      description: ""
      operationId: "getWebHookListV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "pageNumber"
        in: "query"
        description: "Page number, starting with 0, default 0"
        required: false
        type: "integer"
        default: 0
        minimum: 0
        format: "int32"
      - name: "pageSize"
        in: "query"
        description: "Page size, accepts values between 1 and 50, default 50"
        required: false
        type: "integer"
        default: 50
        maximum: 50
        minimum: 1
        format: "int32"
      - name: "name"
        in: "query"
        description: "Filter by webhook name"
        required: false
        type: "string"
      - name: "status"
        in: "query"
        description: "Filter by enabled/disabled status"
        required: false
        type: "string"
        enum:
        - "ENABLED"
        - "DISABLED"
      - name: "url"
        in: "query"
        description: "Filter by webhook URL"
        required: false
        type: "string"
      - name: "events"
        in: "query"
        description: "Filter by webhook events, any match is included"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "JOB_STATUS_CHANGED"
          - "JOB_CREATED"
          - "JOB_DELETED"
          - "JOB_UNSHARED"
          - "JOB_ASSIGNED"
          - "JOB_DUE_DATE_CHANGED"
          - "JOB_UPDATED"
          - "JOB_TARGET_UPDATED"
          - "JOB_EXPORTED"
          - "JOB_UNEXPORTED"
          - "JOB_AUTO_LQA_FINISHED"
          - "JOB_METADATA_UPDATED"
          - "JOB_CUSTOM_FIELDS_UPDATED"
          - "PROJECT_CREATED"
          - "PROJECT_DELETED"
          - "PROJECT_UNSHARED"
          - "PROJECT_STATUS_CHANGED"
          - "PROJECT_DUE_DATE_CHANGED"
          - "SHARED_PROJECT_ASSIGNED"
          - "PROJECT_METADATA_UPDATED"
          - "PRE_TRANSLATION_FINISHED"
          - "ANALYSIS_CREATED"
          - "CONTINUOUS_JOB_UPDATED"
          - "PROJECT_TEMPLATE_CREATED"
          - "PROJECT_TEMPLATE_UPDATED"
          - "PROJECT_TEMPLATE_DELETED"
          - "RAW_MT_CONVERTER_IMPORT_FINISHED"
          - "RAW_MT_PRE_TRANSLATION_FINISHED"
          - "RAW_MT_QUALITY_ESTIMATION_FINISHED"
          - "TERM_BASE_TERM_CREATED"
          - "TERM_BASE_TERM_UPDATED"
          - "TERM_BASE_TERM_DELETED"
          - "TERM_BASE_CONCEPT_CREATED"
          - "TERM_BASE_CONCEPT_UPDATED"
          - "TERM_BASE_CONCEPT_DELETED"
          - "TERM_BASE_IMPORTED"
        collectionFormat: "multi"
      - name: "createdBy"
        in: "query"
        description: "Filter by webhook creators UIDs"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
      - name: "modifiedBy"
        in: "query"
        description: "Filter by webhook updaters UIDs"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
      - name: "sortField"
        in: "query"
        description: "Sort by this field"
        required: false
        type: "string"
        enum:
        - "NAME"
        - "STATUS"
        - "CREATED"
        - "LAST_MODIFIED"
      - name: "sortTrend"
        in: "query"
        description: "Sort direction"
        required: false
        type: "string"
        default: "ASC"
        enum:
        - "ASC"
        - "DESC"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/PageDtoWebHookDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    post:
      tags:
      - "Webhook"
      summary: "Create webhook"
      description: ""
      operationId: "createWebHookV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateWebHookDto"
      responses:
        "201":
          description: "Created"
          schema:
            $ref: "#/definitions/WebHookDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/webhooks/previews:
    get:
      tags:
      - "Webhook"
      summary: "Get webhook body previews"
      description: ""
      operationId: "getWebhookPreviews"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "events"
        in: "query"
        description: "Filter by webhook events"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "JOB_STATUS_CHANGED"
          - "JOB_CREATED"
          - "JOB_DELETED"
          - "JOB_UNSHARED"
          - "JOB_ASSIGNED"
          - "JOB_DUE_DATE_CHANGED"
          - "JOB_UPDATED"
          - "JOB_TARGET_UPDATED"
          - "JOB_EXPORTED"
          - "JOB_UNEXPORTED"
          - "JOB_AUTO_LQA_FINISHED"
          - "JOB_METADATA_UPDATED"
          - "JOB_CUSTOM_FIELDS_UPDATED"
          - "PROJECT_CREATED"
          - "PROJECT_DELETED"
          - "PROJECT_UNSHARED"
          - "PROJECT_STATUS_CHANGED"
          - "PROJECT_DUE_DATE_CHANGED"
          - "SHARED_PROJECT_ASSIGNED"
          - "PROJECT_METADATA_UPDATED"
          - "PRE_TRANSLATION_FINISHED"
          - "ANALYSIS_CREATED"
          - "CONTINUOUS_JOB_UPDATED"
          - "PROJECT_TEMPLATE_CREATED"
          - "PROJECT_TEMPLATE_UPDATED"
          - "PROJECT_TEMPLATE_DELETED"
          - "RAW_MT_CONVERTER_IMPORT_FINISHED"
          - "RAW_MT_PRE_TRANSLATION_FINISHED"
          - "RAW_MT_QUALITY_ESTIMATION_FINISHED"
          - "TERM_BASE_TERM_CREATED"
          - "TERM_BASE_TERM_UPDATED"
          - "TERM_BASE_TERM_DELETED"
          - "TERM_BASE_CONCEPT_CREATED"
          - "TERM_BASE_CONCEPT_UPDATED"
          - "TERM_BASE_CONCEPT_DELETED"
          - "TERM_BASE_IMPORTED"
        collectionFormat: "multi"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/WebhookPreviewsDto"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/webhooks/{webHookUid}:
    get:
      tags:
      - "Webhook"
      summary: "Get webhook"
      description: ""
      operationId: "getWebHookV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "webHookUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/WebHookDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    put:
      tags:
      - "Webhook"
      summary: "Edit webhook"
      description: ""
      operationId: "updateWebHookV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "webHookUid"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/CreateWebHookDto"
      responses:
        "200":
          description: "successful operation"
          schema:
            $ref: "#/definitions/WebHookDtoV2"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
    delete:
      tags:
      - "Webhook"
      summary: "Delete webhook"
      description: ""
      operationId: "deleteWebHookV2"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "webHookUid"
        in: "path"
        required: true
        type: "string"
      responses:
        "204":
          description: "No Content"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
  /api2/v2/webhooks/{webhookUid}/test:
    post:
      tags:
      - "Webhook"
      summary: "Send test webhook"
      description: ""
      operationId: "sendTestWebhook"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "webhookUid"
        in: "path"
        description: "UID of the webhook"
        required: true
        type: "string"
      - name: "event"
        in: "query"
        description: "Event of test webhook"
        required: true
        type: "string"
        enum:
        - "JOB_STATUS_CHANGED"
        - "JOB_CREATED"
        - "JOB_DELETED"
        - "JOB_UNSHARED"
        - "JOB_ASSIGNED"
        - "JOB_DUE_DATE_CHANGED"
        - "JOB_UPDATED"
        - "JOB_TARGET_UPDATED"
        - "JOB_EXPORTED"
        - "JOB_UNEXPORTED"
        - "JOB_AUTO_LQA_FINISHED"
        - "JOB_METADATA_UPDATED"
        - "JOB_CUSTOM_FIELDS_UPDATED"
        - "PROJECT_CREATED"
        - "PROJECT_DELETED"
        - "PROJECT_UNSHARED"
        - "PROJECT_STATUS_CHANGED"
        - "PROJECT_DUE_DATE_CHANGED"
        - "SHARED_PROJECT_ASSIGNED"
        - "PROJECT_METADATA_UPDATED"
        - "PRE_TRANSLATION_FINISHED"
        - "ANALYSIS_CREATED"
        - "CONTINUOUS_JOB_UPDATED"
        - "PROJECT_TEMPLATE_CREATED"
        - "PROJECT_TEMPLATE_UPDATED"
        - "PROJECT_TEMPLATE_DELETED"
        - "RAW_MT_CONVERTER_IMPORT_FINISHED"
        - "RAW_MT_PRE_TRANSLATION_FINISHED"
        - "RAW_MT_QUALITY_ESTIMATION_FINISHED"
        - "TERM_BASE_TERM_CREATED"
        - "TERM_BASE_TERM_UPDATED"
        - "TERM_BASE_TERM_DELETED"
        - "TERM_BASE_CONCEPT_CREATED"
        - "TERM_BASE_CONCEPT_UPDATED"
        - "TERM_BASE_CONCEPT_DELETED"
        - "TERM_BASE_IMPORTED"
      responses:
        "201":
          description: "Test webhook sent"
        "415":
          description: "Unsupported media type"
        "400":
          description: "Bad request"
        "500":
          description: "Internal server error"
        "404":
          description: "Resource not found"
        "401":
          description: "Not authorized"
        "403":
          description: "Forbidden"
        "410":
          description: "Gone"
        "408":
          description: "Timeout"
        "405":
          description: "Method not allowed"
        "501":
          description: "Not implemented"
        "429":
          description: "Too many requests"
securityDefinitions:
  ApiToken:
    description: "Get a token from `auth/login` [endpoint](#operation/login) and then\
      \ pass it in the `Authorization` HTTP header in every subsequent API call. For\
      \ more information visit our [help center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#token-0-0)."
    type: "apiKey"
    name: "Authorization"
    in: "header"
  OAuth2:
    description: "A standard OAuth 2.0 authorization code flow. For more information\
      \ visit our [help center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#oauth-2-0-0-1)."
    type: "oauth2"
    authorizationUrl: "https://cloud.memsource.com/web/oauth/authorize"
    tokenUrl: "https://cloud.memsource.com/web/oauth/token"
    flow: "accessCode"
definitions:
  AbstractProjectDtoV2:
    type: "object"
    discriminator: "userRole"
    properties:
      uid:
        type: "string"
      internalId:
        type: "integer"
        format: "int32"
      id:
        type: "string"
      name:
        type: "string"
      dateCreated:
        type: "string"
        format: "date-time"
      domain:
        $ref: "#/definitions/DomainReference"
      subDomain:
        $ref: "#/definitions/SubDomainReference"
      owner:
        $ref: "#/definitions/UserReference"
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        uniqueItems: true
        items:
          type: "string"
      references:
        type: "array"
        items:
          $ref: "#/definitions/ReferenceFileReference"
      mtSettingsPerLanguageList:
        type: "array"
        items:
          $ref: "#/definitions/MTSettingsPerLanguageReference"
      status:
        type: "string"
        enum:
        - "NEW"
        - "ASSIGNED"
        - "COMPLETED"
        - "ACCEPTED_BY_VENDOR"
        - "DECLINED_BY_VENDOR"
        - "COMPLETED_BY_VENDOR"
        - "CANCELLED"
      userRole:
        type: "string"
        description: "Response differs based on user's role"
        readOnly: true
    description: "Base projectDto"
  AddCommentDto:
    type: "object"
    required:
    - "text"
    properties:
      text:
        type: "string"
  AddLqaCommentResultDto:
    type: "object"
    properties:
      id:
        type: "string"
        description: "ID of created comment"
      conversation:
        description: "LQA Conversation"
        $ref: "#/definitions/LQAConversationDto"
  AdditionalWorkflowStepV2Dto:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
  Admin, Project Manager (v2):
    allOf:
    - $ref: "#/definitions/AbstractProjectDtoV2"
    - type: "object"
      properties:
        shared:
          type: "boolean"
          description: "Default: false"
        progress:
          $ref: "#/definitions/ProgressDtoV2"
        client:
          $ref: "#/definitions/ClientReference"
        costCenter:
          $ref: "#/definitions/CostCenterReference"
        businessUnit:
          $ref: "#/definitions/BusinessUnitReference"
        dateDue:
          type: "string"
          format: "date-time"
        purchaseOrder:
          type: "string"
        isPublishedOnJobBoard:
          type: "boolean"
          description: "Default: false"
        note:
          type: "string"
        createdBy:
          $ref: "#/definitions/UserReference"
        qualityAssuranceSettings:
          $ref: "#/definitions/ObjectReference"
        workflowSteps:
          type: "array"
          items:
            $ref: "#/definitions/ProjectWorkflowStepDtoV2"
        analyseSettings:
          $ref: "#/definitions/ObjectReference"
        accessSettings:
          $ref: "#/definitions/ObjectReference"
        financialSettings:
          $ref: "#/definitions/ObjectReference"
        projectWorkflowSettings:
          $ref: "#/definitions/ProjectWorkflowSettingsReference"
  AnalyseJobReference:
    type: "object"
    properties:
      uid:
        type: "string"
      filename:
        type: "string"
      innerId:
        type: "string"
  AnalyseLanguagePartV2Dto:
    type: "object"
    properties:
      id:
        type: "string"
      sourceLang:
        type: "string"
      targetLang:
        type: "string"
      data:
        $ref: "#/definitions/DataDto"
      discountedData:
        $ref: "#/definitions/DataDto"
      jobs:
        type: "array"
        description: "Max of 100 jobs returned, use \"List jobs of analyses\" to get\
          \ all"
        items:
          $ref: "#/definitions/AnalyseJobReference"
  AnalyseV2Dto:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      type:
        type: "string"
        enum:
        - "PreAnalyse"
        - "PostAnalyse"
        - "PreAnalyseTarget"
        - "Compare"
        - "PreAnalyseProvider"
        - "ContinuousPostAnalyse"
        - "ContinuousPreAnalyse"
      name:
        type: "string"
      provider:
        $ref: "#/definitions/ProviderReference"
      createdBy:
        $ref: "#/definitions/UserReference"
      dateCreated:
        type: "string"
        format: "date-time"
      netRateScheme:
        $ref: "#/definitions/NetRateSchemeReference"
      analyseLanguageParts:
        type: "array"
        items:
          $ref: "#/definitions/AnalyseLanguagePartV2Dto"
  AnalysesV2Dto:
    type: "object"
    properties:
      analyses:
        type: "array"
        items:
          $ref: "#/definitions/AnalyseV2Dto"
  AssignmentPerTargetLangDto:
    type: "object"
    properties:
      targetLang:
        type: "string"
      providers:
        type: "array"
        items:
          $ref: "#/definitions/ProviderReference"
  AsyncAnalyseListResponseV2Dto:
    type: "object"
    properties:
      asyncRequests:
        type: "array"
        items:
          $ref: "#/definitions/AsyncAnalyseResponseV2Dto"
  AsyncAnalyseResponseV2Dto:
    type: "object"
    properties:
      asyncRequest:
        $ref: "#/definitions/AsyncRequestV2Dto"
      analyse:
        $ref: "#/definitions/ObjectReference"
  AsyncExportTMDto:
    type: "object"
    properties:
      transMemory:
        $ref: "#/definitions/ObjectReference"
      exportTargetLangs:
        type: "array"
        items:
          type: "string"
  AsyncExportTMResponseDto:
    type: "object"
    properties:
      asyncRequest:
        $ref: "#/definitions/AsyncRequestV2Dto"
      asyncExport:
        $ref: "#/definitions/AsyncExportTMDto"
  AsyncFileOpResponseDto:
    type: "object"
    properties:
      id:
        type: "string"
      createdBy:
        $ref: "#/definitions/UserReference"
      dateCreated:
        type: "string"
        format: "date-time"
      fileName:
        type: "string"
      action:
        type: "string"
        enum:
        - "GUI_UPLOAD"
        - "GUI_DOWNLOAD"
        - "GUI_REIMPORT"
        - "GUI_REIMPORT_TARGET"
        - "CJ_UPLOAD"
        - "CJ_DOWNLOAD"
        - "APC_UPLOAD"
        - "APC_DOWNLOAD"
        - "API_UPLOAD"
        - "API_DOWNLOAD"
        - "SUBMITTER_PORTAL_DOWNLOAD"
  AsyncRequestReferenceDto:
    type: "object"
    properties:
      uid:
        type: "string"
        description: "UID of the object"
      type:
        type: "string"
        description: "Type of the object"
        enum:
        - "JOB"
    description: "Reference object that is being processed by async request"
  AsyncRequestV2Dto:
    type: "object"
    properties:
      id:
        type: "string"
      createdBy:
        $ref: "#/definitions/UserReference"
      dateCreated:
        type: "string"
        format: "date-time"
      action:
        type: "string"
        enum:
        - "PRE_ANALYSE"
        - "POST_ANALYSE"
        - "CONTINUOUS_PRE_ANALYSE"
        - "CONTINUOUS_POST_ANALYSE"
        - "COMPARE_ANALYSE"
        - "PARENT_ANALYSE"
        - "PRE_TRANSLATE"
        - "ASYNC_TRANSLATE"
        - "IMPORT_JOB"
        - "IMPORT_FILE"
        - "ALIGN"
        - "EXPORT_TMX_BY_QUERY"
        - "EXPORT_TMX"
        - "IMPORT_TMX"
        - "IMPORT_MXLF_INTO_TM"
        - "IMPORT_TBX"
        - "INSERT_INTO_TM"
        - "DELETE_TM"
        - "CLEAR_TM"
        - "QA"
        - "QA_V3"
        - "UPDATE_CONTINUOUS_JOB"
        - "UPDATE_SOURCE"
        - "UPDATE_TARGET"
        - "EXTRACT_CLEANED_TMS"
        - "GLOSSARY_PUT"
        - "GLOSSARY_DELETE"
        - "CREATE_PROJECT"
        - "EXPORT_COMPLETE_FILE"
        - "IMPORT_ANNOTATIONS"
        - "FILE_FLOW_CONVERTER_IMPORT"
        - "FILE_FLOW_MT_PRETRANSLATE"
        - "FILE_FLOW_QUALITY_ESTIMATION"
        - "AUTO_LQA"
      asyncResponse:
        $ref: "#/definitions/AsyncResponseV2Dto"
      parent:
        $ref: "#/definitions/AsyncRequestV2Dto"
      project:
        $ref: "#/definitions/ProjectReference"
  AsyncRequestWrapperV2Dto:
    type: "object"
    properties:
      asyncRequest:
        $ref: "#/definitions/AsyncRequestV2Dto"
      reference:
        description: "Different depending on context of the action"
        $ref: "#/definitions/AsyncRequestReferenceDto"
  AsyncResponseV2Dto:
    type: "object"
    properties:
      dateCreated:
        type: "string"
        format: "date-time"
      errorCode:
        type: "string"
      errorDesc:
        type: "string"
      errorDetails:
        type: "array"
        items:
          $ref: "#/definitions/ErrorDetailDtoV2"
      warnings:
        type: "array"
        items:
          $ref: "#/definitions/ErrorDetailDtoV2"
  BulkEditAnalyseV2Dto:
    type: "object"
    required:
    - "analyses"
    properties:
      analyses:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
        maxItems: 100
        minItems: 1
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      provider:
        $ref: "#/definitions/ProviderReference"
      netRateScheme:
        $ref: "#/definitions/UidReference"
  BusinessUnitReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
  CleanupTask:
    type: "object"
  ClientReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
  CommentDto:
    type: "object"
    properties:
      id:
        type: "string"
      text:
        type: "string"
      createdBy:
        $ref: "#/definitions/MentionableUserDto"
      dateCreated:
        type: "string"
        format: "date-time"
      dateModified:
        type: "string"
        format: "date-time"
      mentions:
        type: "array"
        items:
          $ref: "#/definitions/MentionDto"
  ConceptDtov2:
    type: "object"
    properties:
      id:
        type: "string"
      definition:
        type: "string"
      domain:
        type: "string"
      subDomains:
        type: "array"
        items:
          type: "string"
      url:
        type: "string"
      note:
        type: "string"
  CostCenterReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
  CountsDto_2:
    type: "object"
    properties:
      segments:
        type: "number"
        format: "double"
      words:
        type: "number"
        format: "double"
      characters:
        type: "number"
        format: "double"
      normalizedPages:
        type: "number"
        format: "double"
      percent:
        type: "number"
        format: "double"
      editingTime:
        type: "number"
        format: "double"
  CreateAnalyseAsyncV2Dto:
    type: "object"
    required:
    - "jobs"
    properties:
      jobs:
        type: "array"
        description: "Job uids of jobs from the same project"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 50000
        minItems: 1
      type:
        type: "string"
        description: "default: PreAnalyse"
        enum:
        - "PreAnalyse"
        - "PostAnalyse"
        - "Compare"
      includeFuzzyRepetitions:
        type: "boolean"
        description: "Default: true"
      separateFuzzyRepetitions:
        type: "boolean"
        description: "Default: false"
      includeConfirmedSegments:
        type: "boolean"
        description: "Default: true"
      includeNumbers:
        type: "boolean"
        description: "Default: true"
      includeLockedSegments:
        type: "boolean"
        description: "Default: true"
      countSourceUnits:
        type: "boolean"
        description: "Default: true"
      includeTransMemory:
        type: "boolean"
        description: "Default: true. Works only for type=PreAnalyse."
      includeNonTranslatables:
        type: "boolean"
        description: "Default: false. Works only for type=PreAnalyse."
      includeMachineTranslationMatches:
        type: "boolean"
        description: "Default: false. Works only for type=PreAnalyse."
      transMemoryPostEditing:
        type: "boolean"
        description: "Default: false. Works only for type=PostAnalyse."
      nonTranslatablePostEditing:
        type: "boolean"
        description: "Default: false. Works only for type=PostAnalyse."
      machineTranslatePostEditing:
        type: "boolean"
        description: "Default: false. Works only for type=PostAnalyse."
      analyzeByProvider:
        type: "boolean"
        example: false
        description: "Default: false."
      analyzeByLanguage:
        type: "boolean"
        example: false
        description: "Default: false."
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      netRateScheme:
        $ref: "#/definitions/IdReference"
      compareWorkflowLevel:
        type: "integer"
        format: "int32"
        description: "Required for type=Compare"
        minimum: 1
        maximum: 15
      useProjectAnalysisSettings:
        type: "boolean"
        description: "Default: false. Use default project settings. Will be overwritten\
          \ with setting sent\n        in the API call."
      callbackUrl:
        type: "string"
      provider:
        $ref: "#/definitions/ProviderReference"
  CreateLqaConversationDto:
    type: "object"
    required:
    - "references"
    properties:
      lqaDescription:
        type: "string"
      references:
        $ref: "#/definitions/LQAReferences"
  CreateProjectFromTemplateAsyncV2Dto:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      dateDue:
        type: "string"
        format: "date-time"
      note:
        type: "string"
      client:
        $ref: "#/definitions/IdReference"
      businessUnit:
        $ref: "#/definitions/IdReference"
      domain:
        $ref: "#/definitions/IdReference"
      subDomain:
        $ref: "#/definitions/IdReference"
      costCenter:
        $ref: "#/definitions/IdReference"
      callbackUrl:
        type: "string"
  CreateProjectFromTemplateV2Dto:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      dateDue:
        type: "string"
        format: "date-time"
      note:
        type: "string"
      client:
        $ref: "#/definitions/IdReference"
      businessUnit:
        $ref: "#/definitions/IdReference"
      domain:
        $ref: "#/definitions/IdReference"
      subDomain:
        $ref: "#/definitions/IdReference"
      costCenter:
        $ref: "#/definitions/IdReference"
  CreateProjectV2Dto:
    type: "object"
    required:
    - "name"
    - "sourceLang"
    - "targetLangs"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      client:
        description: "Client referenced by id"
        $ref: "#/definitions/IdReference"
      businessUnit:
        $ref: "#/definitions/IdReference"
      domain:
        $ref: "#/definitions/IdReference"
      subDomain:
        $ref: "#/definitions/IdReference"
      costCenter:
        $ref: "#/definitions/IdReference"
      purchaseOrder:
        type: "string"
        minLength: 0
        maxLength: 255
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      dateDue:
        type: "string"
        format: "date-time"
      note:
        type: "string"
        minLength: 0
        maxLength: 4096
      lqaProfiles:
        type: "array"
        description: "Lqa profiles that will be added to workflow steps"
        items:
          $ref: "#/definitions/LqaProfilesForWsV2Dto"
      fileHandover:
        type: "boolean"
        description: "Default: false"
  CreateReferenceFileNoteDto:
    type: "object"
    required:
    - "note"
    properties:
      note:
        type: "string"
  CreateReferenceFilesRequest:
    type: "object"
    properties:
      file:
        type: "array"
        description: "Files with appropriate `Content-Type` header"
        items:
          $ref: "#/definitions/MultipartFile"
      json:
        description: "Additional data in JSON format (`Content-Type`: `application/json)`"
        $ref: "#/definitions/CreateReferenceFileNoteDto"
  CreateWebEditorLinkDtoV2:
    type: "object"
    required:
    - "jobs"
    properties:
      jobs:
        type: "array"
        description: "Maximum supported number of jobs is 260"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 2147483647
        minItems: 1
  CreateWebHookDto:
    type: "object"
    required:
    - "events"
    - "url"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      url:
        type: "string"
      events:
        type: "array"
        items:
          type: "string"
          enum:
          - "JOB_STATUS_CHANGED"
          - "JOB_CREATED"
          - "JOB_DELETED"
          - "JOB_UNSHARED"
          - "JOB_ASSIGNED"
          - "JOB_DUE_DATE_CHANGED"
          - "JOB_UPDATED"
          - "JOB_TARGET_UPDATED"
          - "JOB_EXPORTED"
          - "JOB_UNEXPORTED"
          - "JOB_AUTO_LQA_FINISHED"
          - "JOB_METADATA_UPDATED"
          - "JOB_CUSTOM_FIELDS_UPDATED"
          - "PROJECT_CREATED"
          - "PROJECT_DELETED"
          - "PROJECT_UNSHARED"
          - "PROJECT_STATUS_CHANGED"
          - "PROJECT_DUE_DATE_CHANGED"
          - "SHARED_PROJECT_ASSIGNED"
          - "PROJECT_METADATA_UPDATED"
          - "PRE_TRANSLATION_FINISHED"
          - "ANALYSIS_CREATED"
          - "CONTINUOUS_JOB_UPDATED"
          - "PROJECT_TEMPLATE_CREATED"
          - "PROJECT_TEMPLATE_UPDATED"
          - "PROJECT_TEMPLATE_DELETED"
          - "RAW_MT_CONVERTER_IMPORT_FINISHED"
          - "RAW_MT_PRE_TRANSLATION_FINISHED"
          - "RAW_MT_QUALITY_ESTIMATION_FINISHED"
          - "TERM_BASE_TERM_CREATED"
          - "TERM_BASE_TERM_UPDATED"
          - "TERM_BASE_TERM_DELETED"
          - "TERM_BASE_CONCEPT_CREATED"
          - "TERM_BASE_CONCEPT_UPDATED"
          - "TERM_BASE_CONCEPT_DELETED"
          - "TERM_BASE_IMPORTED"
      secretToken:
        type: "string"
        minLength: 0
        maxLength: 255
      secretTokenType:
        type: "string"
        description: "Default: `X_MEMSOURCE_TOKEN`"
        enum:
        - "X_MEMSOURCE_TOKEN"
        - "AUTHORIZATION"
      hidden:
        type: "boolean"
        description: "Default: `false`"
      status:
        type: "string"
        description: "Default: `ENABLED`"
        enum:
        - "ENABLED"
        - "DISABLED"
  CustomFieldInstanceApiDto:
    type: "object"
    properties:
      customField:
        $ref: "#/definitions/UidReference"
      selectedOptions:
        type: "array"
        items:
          $ref: "#/definitions/UidReference"
      value:
        type: "string"
        minLength: 0
        maxLength: 4096
  DataDto:
    type: "object"
    properties:
      available:
        type: "boolean"
      all:
        $ref: "#/definitions/CountsDto_2"
      repetitions:
        $ref: "#/definitions/CountsDto_2"
      transMemoryMatches:
        $ref: "#/definitions/MatchCounts101Dto_2"
      machineTranslationMatches:
        $ref: "#/definitions/MatchCountsDto_2"
      nonTranslatablesMatches:
        $ref: "#/definitions/MatchCountsNTDto"
  DiscountSchemeReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
      dateCreated:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/UserReference"
  DomainReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
  EditAnalyseV2Dto:
    type: "object"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      provider:
        $ref: "#/definitions/ProviderReference"
      netRateScheme:
        $ref: "#/definitions/UidReference"
  EditLqaConversationDto:
    type: "object"
    required:
    - "lqa"
    properties:
      lqaDescription:
        type: "string"
      lqa:
        type: "array"
        items:
          $ref: "#/definitions/LQAReference"
        maxItems: 1
        minItems: 0
      status:
        type: "string"
        enum:
        - "resolved"
        - "unresolved"
      correlation:
        $ref: "#/definitions/ReferenceCorrelation"
  EditProjectSecuritySettingsDtoV2:
    type: "object"
    properties:
      downloadEnabled:
        type: "boolean"
        description: "Default: `false`"
      webEditorEnabledForLinguists:
        type: "boolean"
        description: "Default: `false`"
      showUserDataToLinguists:
        type: "boolean"
        description: "Default: `false`"
      emailNotifications:
        type: "boolean"
        description: "Default: `false`"
      strictWorkflowFinish:
        type: "boolean"
        description: "Default: `false`"
      useVendors:
        type: "boolean"
        description: "Default: `false`"
      linguistsMayEditLockedSegments:
        type: "boolean"
        description: "Default: `false`"
      usersMaySetAutoPropagation:
        type: "boolean"
        description: "Default: `true`"
      allowLoadingExternalContentInEditors:
        type: "boolean"
        description: "Default: `true`"
      allowLoadingIframes:
        type: "boolean"
        description: "Default: `false`"
      linguistsMayEditSource:
        type: "boolean"
        description: "Default: `true`"
      linguistsMayEditTagContent:
        type: "boolean"
        description: "Default: `true`"
      linguistsMayDownloadLqaReport:
        type: "boolean"
        description: "Default: `true`"
      usernamesDisplayedInLqaReport:
        type: "boolean"
        description: "Default: `true`"
      userMaySetInstantQA:
        type: "boolean"
        description: "Default: `true`"
      triggerWebhooks:
        type: "boolean"
        description: "Default: `true`"
      notifyJobOwnerStatusChanged:
        type: "boolean"
        description: "Default: `false`"
      vendors:
        $ref: "#/definitions/VendorSecuritySettingsDto"
      allowedDomains:
        type: "array"
        items:
          type: "string"
  EditProjectV2Dto:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      status:
        type: "string"
        enum:
        - "NEW"
        - "ASSIGNED"
        - "COMPLETED"
        - "ACCEPTED_BY_VENDOR"
        - "DECLINED_BY_VENDOR"
        - "COMPLETED_BY_VENDOR"
        - "CANCELLED"
      client:
        $ref: "#/definitions/IdReference"
      businessUnit:
        $ref: "#/definitions/IdReference"
      domain:
        $ref: "#/definitions/IdReference"
      subDomain:
        $ref: "#/definitions/IdReference"
      owner:
        description: "Owner must be Admin or PM"
        $ref: "#/definitions/IdReference"
      purchaseOrder:
        type: "string"
        minLength: 0
        maxLength: 255
      dateDue:
        type: "string"
        format: "date-time"
      note:
        type: "string"
        minLength: 0
        maxLength: 4096
      fileHandover:
        type: "boolean"
        description: "Default: false"
      propagateTranslationsToLowerWfDuringUpdateSource:
        type: "boolean"
        description: "Default: false"
      lqaProfiles:
        type: "array"
        description: "Lqa profiles that will be added to workflow steps"
        items:
          $ref: "#/definitions/LqaProfilesForWsV2Dto"
      archived:
        type: "boolean"
        description: "Default: false"
      customFields:
        type: "array"
        description: "Custom fields for project"
        items:
          $ref: "#/definitions/CustomFieldInstanceApiDto"
  EditQASettingsDtoV2:
    type: "object"
    properties:
      checks:
        type: "array"
        example: "\n        {\n            \"ignorable\": false,\n            \"enabled\"\
          : true,\n            \"type\": \"VOID\",\n            \"instant\": false,\n\
          \            \"name\": \"emptyTarget\"\n        },\n        {\n        \
          \    \"ignorable\": false,\n            \"enabled\": true,\n           \
          \ \"value\": 12,\n            \"type\": \"NUMBER\",\n            \"name\"\
          : \"targetLength\"\n        },\n        {\n            \"ignorable\": false,\n\
          \            \"enabled\": true,\n            \"value\": \"ASAP, irony\"\
          ,\n            \"type\": \"STRING\",\n            \"instant\": true,\n \
          \           \"name\": \"forbiddenStrings\"\n        },\n        {\n    \
          \        \"enabled\": true,\n            \"profile\": \"jiris\",\n     \
          \       \"ignorable\": true,\n            \"type\": \"MORAVIA\",\n     \
          \       \"name\": \"moravia\"\n        },\n        {\n            \"rules\"\
          : [\n                {\n                    \"description\": \"Description\"\
          ,\n                    \"sourceRegexp\": \".+\",\n                    \"\
          targetRegexp\": \".+\",\n                    \"ignorable\": true\n     \
          \           },\n                {\n                    \"description\":\
          \ \"Description\",\n                    \"sourceRegexp\": \"i+\",\n    \
          \                \"targetRegexp\": \"e+\",\n                    \"ignorable\"\
          : false\n                }\n            ],\n            \"type\": \"REGEX\"\
          ,\n            \"name\": \"regexp\"\n        },\n        {\n           \
          \ \"enabled\": true,\n            \"ignorable\": true,\n            \"type\"\
          : \"VOID\",\n            \"name\": \"customQa\"\n        }\n    "
        description: "checks"
        items:
          type: "object"
          additionalProperties:
            type: "object"
  EnabledCheckContextDtoV2:
    type: "object"
    properties:
      moraviaProfileId:
        type: "string"
      customQaDisplayName:
        type: "string"
      provider:
        type: "string"
  EnabledCheckDtoV2:
    type: "object"
    properties:
      checkerType:
        type: "string"
      context:
        $ref: "#/definitions/EnabledCheckContextDtoV2"
  ErrorDetailDtoV2:
    type: "object"
    properties:
      code:
        type: "string"
        description: "Code, e.g. NOT_FOUND."
      args:
        type: "object"
        description: "Related arguments, e.g. number => \"hello world\""
        additionalProperties:
          type: "object"
      message:
        type: "string"
        description: "Optional human-readable message."
  ExportTMDto:
    type: "object"
    properties:
      exportTargetLangs:
        type: "array"
        items:
          type: "string"
      callbackUrl:
        type: "string"
  GetFileRequestParamsDto:
    type: "object"
    properties:
      sourceLang:
        type: "string"
      targetLang:
        type: "string"
      callbackUrl:
        type: "string"
        example: "{\"callbackUrl\": \"https://www.yourdomain.com/callback_endpoint\"\
          }"
  IdReference:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "string"
  ImportStatusDtoV2:
    type: "object"
    properties:
      status:
        type: "string"
        enum:
        - "RUNNING"
        - "ERROR"
        - "OK"
      errorMessage:
        type: "string"
  InputStream:
    type: "object"
  InputStreamLength:
    type: "object"
    properties:
      stream:
        $ref: "#/definitions/InputStream"
      length:
        type: "integer"
        format: "int64"
      name:
        type: "string"
      characterEncoding:
        type: "string"
      extension:
        type: "string"
      cleanupTask:
        $ref: "#/definitions/CleanupTask"
  JobMachineTranslationSettingsDto:
    type: "object"
    properties:
      useMachineTranslation:
        type: "boolean"
        description: "Pre-translate from machine translation. Default: true"
      machineTranslationBehavior:
        type: "string"
        description: "Machine translation behavior. Default: APPLY_MT_ABOVE_THRESHOLD"
        enum:
        - "APPLY_MT_ABOVE_THRESHOLD"
        - "COMPARE_AND_BEST_MATCH"
      lock100PercentMatches:
        type: "boolean"
        description: "Lock section: 100% machine translation suggestions. Default:\
          \ false"
      confirm100PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 100% translation machine\
          \ matches. Default: false"
      useAltTransOnly:
        type: "boolean"
        description: "Do not put machine translations to target and use alt-trans\
          \ fields (alt-trans in mxlf).\nDefault: false"
      mtSuggestOnlyTmBelow:
        type: "boolean"
        description: "Suggest MT only for segments with a TM match below. Default:\
          \ true"
      mtSuggestOnlyTmBelowThreshold:
        type: "number"
        format: "double"
        description: "Suggest MT only for segments with a TM match below threshold.\
          \ Default: 1.0"
        minimum: 0
        maximum: 1.01
        exclusiveMinimum: false
        exclusiveMaximum: false
    description: "Machine translation related settings"
  JobNonTranslatableSettingsDto:
    type: "object"
    properties:
      preTranslateNonTranslatables:
        type: "boolean"
        description: "Pre-translate non-translatables. Default: true"
      confirm100PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 100% non-translatables.\
          \ Default: false"
      lock100PercentMatches:
        type: "boolean"
        description: "Lock section: 100% non-translatables. Default: false"
    description: "Non-translatables related settings"
  JobPartReadyDeleteTranslationDto:
    type: "object"
    properties:
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 100
        minItems: 1
      deleteSettings:
        $ref: "#/definitions/TranslationSegmentsReferenceV2"
      forAllJobs:
        type: "boolean"
        description: "Set true if you want to delete translations for all jobs from\
          \ project from specific workflow step.\n               Default: false"
      workflowLevel:
        type: "integer"
        format: "int32"
        description: "Specifies workflow level for all jobs"
      filter:
        description: "Specifies filtering for all jobs"
        $ref: "#/definitions/JobPartReadyDeleteTranslationFilterDto"
  JobPartReadyDeleteTranslationFilterDto:
    type: "object"
    properties:
      filename:
        type: "string"
      statuses:
        type: "array"
        items:
          type: "string"
      targetLang:
        type: "string"
      provider:
        $ref: "#/definitions/ProviderReference"
      owner:
        $ref: "#/definitions/UidReference"
      dateDue:
        type: "string"
        format: "date-time"
      dueInHours:
        type: "integer"
        format: "int32"
      overdue:
        type: "boolean"
  JobPartReadyReferences_2:
    type: "object"
    required:
    - "jobs"
    properties:
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 100
        minItems: 1
  JobPartReference:
    type: "object"
    properties:
      uid:
        type: "string"
      status:
        type: "string"
        enum:
        - "NEW"
        - "ACCEPTED"
        - "DECLINED"
        - "REJECTED"
        - "DELIVERED"
        - "EMAILED"
        - "COMPLETED"
        - "CANCELLED"
      providers:
        type: "array"
        items:
          $ref: "#/definitions/ProviderReference"
      targetLang:
        type: "string"
      workflowLevel:
        type: "integer"
        format: "int32"
      workflowStep:
        $ref: "#/definitions/WorkflowStepReference"
      filename:
        type: "string"
      dateDue:
        type: "string"
        format: "date-time"
      dateCreated:
        type: "string"
        format: "date-time"
      updateSourceDate:
        type: "string"
        format: "date-time"
      imported:
        type: "boolean"
      jobAssignedEmailTemplate:
        $ref: "#/definitions/ObjectReference"
      notificationIntervalInMinutes:
        type: "integer"
        format: "int32"
      continuous:
        type: "boolean"
      sourceFileUid:
        type: "string"
  JobPartReferenceV2:
    type: "object"
    properties:
      uid:
        type: "string"
      innerId:
        type: "string"
        description: "InnerId is a sequential number of a job in a project.\n    \
          \        Jobs created from the same file share the same innerId across workflow\
          \ steps"
      status:
        type: "string"
        enum:
        - "NEW"
        - "ACCEPTED"
        - "DECLINED"
        - "REJECTED"
        - "DELIVERED"
        - "EMAILED"
        - "COMPLETED"
        - "CANCELLED"
      providers:
        type: "array"
        items:
          $ref: "#/definitions/ProviderReference"
      targetLang:
        type: "string"
      workflowStep:
        $ref: "#/definitions/ProjectWorkflowStepReference"
      filename:
        type: "string"
      originalFileDirectory:
        type: "string"
      dateDue:
        type: "string"
        format: "date-time"
      dateCreated:
        type: "string"
        format: "date-time"
      importStatus:
        $ref: "#/definitions/ImportStatusDtoV2"
      continuous:
        type: "boolean"
      sourceFileUid:
        type: "string"
      split:
        type: "boolean"
      serverTaskId:
        type: "string"
      owner:
        $ref: "#/definitions/UserReference"
      remoteFile:
        $ref: "#/definitions/JobRemoteFileReference"
      imported:
        type: "boolean"
        description: "Default: false"
  JobPartSegmentsDto:
    type: "object"
    required:
    - "job"
    - "segments"
    properties:
      job:
        $ref: "#/definitions/UidReference"
      segments:
        type: "array"
        items:
          type: "string"
  JobRemoteFileReference:
    type: "object"
    properties:
      humanReadableFolder:
        type: "string"
      humanReadableFileName:
        type: "string"
      encodedFolder:
        type: "string"
      encodedFileName:
        type: "string"
  JobRoleDto:
    type: "object"
    required:
    - "type"
    properties:
      type:
        type: "string"
        enum:
        - "PROJECT_OWNER"
        - "JOB_OWNER"
        - "PROVIDER"
        - "GUEST"
      workflowStep:
        description: "not null only for `PROVIDER` type and project with defined workflow\
          \ steps"
        $ref: "#/definitions/ProjectWorkflowStepDtoV2"
      organizationType:
        type: "string"
        description: "not null only for shared projects"
        enum:
        - "VENDOR"
        - "BUYER"
  JobTranslationMemorySettingsDto:
    type: "object"
    properties:
      useTranslationMemory:
        type: "boolean"
        description: "Pre-translate from translation memory. Default: true"
      translationMemoryThreshold:
        type: "number"
        format: "double"
        description: "Pre-translation threshold percent. Default: 0.7"
        minimum: 0
        maximum: 1.01
        exclusiveMinimum: false
        exclusiveMaximum: false
      confirm100PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 100% translation memory\
          \ matches. Default: false"
      confirm101PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 101% translation memory\
          \ matches. Default: false"
      lock100PercentMatches:
        type: "boolean"
        description: "Lock section: 100% translation memory matches. Default: false"
      lock101PercentMatches:
        type: "boolean"
        description: "Lock section: 101% translation memory matches. Default: false"
    description: "Translation memory related settings"
  JobWidgetReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
  LQAConversationDto:
    type: "object"
    properties:
      id:
        type: "string"
      type:
        type: "string"
        description: "LQA"
      dateCreated:
        type: "string"
        format: "date-time"
      dateModified:
        type: "string"
        format: "date-time"
      dateEdited:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/MentionableUserDto"
      comments:
        type: "array"
        items:
          $ref: "#/definitions/CommentDto"
      status:
        $ref: "#/definitions/StatusDto"
      deleted:
        type: "boolean"
      references:
        $ref: "#/definitions/LQAReferences"
      lqaDescription:
        type: "string"
  LQAReference:
    type: "object"
    required:
    - "errorCategoryId"
    - "severityId"
    properties:
      errorCategoryId:
        type: "integer"
        format: "int32"
        minimum: 1
      severityId:
        type: "integer"
        format: "int32"
        minimum: 1
      user:
        description: "Originator User ID field."
        $ref: "#/definitions/IdReference"
      originator:
        description: "Originator of the segment. Field UID takes precedence over 'user'\
          \ IdReference."
        $ref: "#/definitions/MentionableUserDto"
      repeated:
        type: "string"
        description: "Default: `NOT_REPEATED`"
        enum:
        - "REPEATED"
        - "NOT_REPEATED"
      origin:
        type: "string"
        enum:
        - "HUMAN"
  LQAReferences:
    type: "object"
    required:
    - "lqa"
    - "segmentId"
    - "transGroupId"
    properties:
      taskId:
        type: "string"
        readOnly: true
      jobPartUid:
        type: "string"
        readOnly: true
      transGroupId:
        type: "integer"
        format: "int32"
        minimum: 0
      segmentId:
        type: "string"
      conversationTitle:
        type: "string"
      conversationTitleOffset:
        type: "integer"
        format: "int32"
        minimum: 0
      commentedText:
        type: "string"
      correlation:
        $ref: "#/definitions/ReferenceCorrelation"
      lqa:
        type: "array"
        items:
          $ref: "#/definitions/LQAReference"
        maxItems: 1
        minItems: 1
  Linguist (v2):
    allOf:
    - $ref: "#/definitions/AbstractProjectDtoV2"
    - type: "object"
      properties: {}
  LqaProfilesForWsV2Dto:
    type: "object"
    properties:
      workflowStep:
        $ref: "#/definitions/IdReference"
      lqaProfile:
        $ref: "#/definitions/UidReference"
  MORAVIA:
    allOf:
    - $ref: "#/definitions/QACheckDtoV2"
    - type: "object"
      properties:
        enabled:
          type: "boolean"
        profile:
          type: "string"
        ignorable:
          type: "boolean"
        instant:
          type: "boolean"
  MTSettingsPerLanguageReference:
    type: "object"
    required:
    - "targetLang"
    properties:
      targetLang:
        type: "string"
        description: "mtSettings is set for whole project if targetLang == null"
      machineTranslateSettings:
        $ref: "#/definitions/MachineTranslateSettingsReference"
  MachineTranslateSettingsReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
      type:
        type: "string"
  MachineTranslationSettingsDto_3:
    type: "object"
    properties:
      useMachineTranslation:
        type: "boolean"
        description: "Pre-translate from machine translation. Default: false"
      lock100PercentMatches:
        type: "boolean"
        description: "Lock section: 100% machine translation suggestions. Default:\
          \ false"
      confirm100PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 100% translation machine\
          \ matches. Default: false"
      useAltTransOnly:
        type: "boolean"
        description: "Do not put machine translations to target and use alt-trans\
          \ fields (alt-trans in mxlf).\nDefault: false"
      mtQeMatchesInEditors:
        type: "boolean"
        description: "Display quality-estimated machine translation suggestions in\
          \ the CAT Editor. Default: false"
    description: "Machine translation related settings"
  Match:
    type: "object"
    properties:
      beginIndex:
        type: "integer"
        format: "int32"
      text:
        type: "string"
  MatchCounts101Dto_2:
    type: "object"
    properties:
      match100:
        $ref: "#/definitions/CountsDto_2"
      match95:
        $ref: "#/definitions/CountsDto_2"
      match85:
        $ref: "#/definitions/CountsDto_2"
      match75:
        $ref: "#/definitions/CountsDto_2"
      match50:
        $ref: "#/definitions/CountsDto_2"
      match0:
        $ref: "#/definitions/CountsDto_2"
      match101:
        $ref: "#/definitions/CountsDto_2"
  MatchCountsDto_2:
    type: "object"
    properties:
      match100:
        $ref: "#/definitions/CountsDto_2"
      match95:
        $ref: "#/definitions/CountsDto_2"
      match85:
        $ref: "#/definitions/CountsDto_2"
      match75:
        $ref: "#/definitions/CountsDto_2"
      match50:
        $ref: "#/definitions/CountsDto_2"
      match0:
        $ref: "#/definitions/CountsDto_2"
  MatchCountsNTDto:
    type: "object"
    properties:
      match100:
        $ref: "#/definitions/CountsDto_2"
      match99:
        $ref: "#/definitions/CountsDto_2"
  MentionDto:
    type: "object"
    required:
    - "mentionType"
    properties:
      mentionType:
        type: "string"
        enum:
        - "USER"
        - "GROUP"
      mentionGroupType:
        type: "string"
        enum:
        - "JOB"
        - "OWNERS"
        - "PROVIDERS"
        - "GUESTS"
        - "WORKFLOW_STEP"
      uidReference:
        $ref: "#/definitions/UidReference"
      userReferences:
        type: "array"
        items:
          $ref: "#/definitions/MentionableUserDto"
      mentionableGroup:
        $ref: "#/definitions/MentionableGroupDto"
      tag:
        type: "string"
  MentionableGroupDto:
    type: "object"
    properties:
      groupType:
        type: "string"
        enum:
        - "JOB"
        - "OWNERS"
        - "PROVIDERS"
        - "GUESTS"
        - "WORKFLOW_STEP"
      groupName:
        type: "string"
      groupReference:
        $ref: "#/definitions/UidReference"
  MentionableUserDto:
    type: "object"
    properties:
      firstName:
        type: "string"
      lastName:
        type: "string"
      userName:
        type: "string"
      email:
        type: "string"
      role:
        type: "string"
        enum:
        - "SYS_ADMIN"
        - "SYS_ADMIN_READ"
        - "ADMIN"
        - "PROJECT_MANAGER"
        - "LINGUIST"
        - "GUEST"
        - "SUBMITTER"
        - "PORTAL_MEMBER"
      id:
        type: "string"
      uid:
        type: "string"
      unavailable:
        type: "boolean"
      jobRoles:
        type: "array"
        items:
          $ref: "#/definitions/JobRoleDto"
  MultipartFile:
    type: "object"
    properties:
      name:
        type: "string"
      bytes:
        type: "array"
        items:
          type: "string"
          format: "byte"
      empty:
        type: "boolean"
      size:
        type: "integer"
        format: "int64"
      inputStream:
        $ref: "#/definitions/InputStream"
      contentType:
        type: "string"
      originalFilename:
        type: "string"
  NUMBER:
    allOf:
    - $ref: "#/definitions/QACheckDtoV2"
    - type: "object"
      properties:
        ignorable:
          type: "boolean"
        enabled:
          type: "boolean"
        value:
          $ref: "#/definitions/Number"
        instant:
          type: "boolean"
  NetRateSchemeReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
      isDefault:
        type: "boolean"
      dateCreated:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/UserReference"
  NonTranslatableSettingsDto_3:
    type: "object"
    properties:
      preTranslateNonTranslatables:
        type: "boolean"
        description: "Pre-translate non-translatables. Default: false"
      confirm100PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 100% non-translatables.\
          \ Default: false"
      lock100PercentMatches:
        type: "boolean"
        description: "Lock section: 100% non-translatables. Default: false"
      nonTranslatablesInEditors:
        type: "boolean"
        description: "If non-translatables are enabled in Editors."
    description: "Non-translatables related settings"
  NotifyProviderDto:
    type: "object"
    required:
    - "organizationEmailTemplate"
    properties:
      organizationEmailTemplate:
        $ref: "#/definitions/IdReference"
      notificationIntervalInMinutes:
        type: "integer"
        format: "int32"
        minimum: 0
        maximum: 1440
  Number:
    type: "object"
  ObjectReference:
    type: "object"
  Order:
    type: "object"
    properties:
      direction:
        type: "string"
        enum:
        - "ASC"
        - "DESC"
      property:
        type: "string"
  PageDtoAnalyseV2Dto:
    type: "object"
    properties:
      totalElements:
        type: "integer"
        format: "int32"
      totalPages:
        type: "integer"
        format: "int32"
      pageSize:
        type: "integer"
        format: "int32"
      pageNumber:
        type: "integer"
        format: "int32"
      numberOfElements:
        type: "integer"
        format: "int32"
      content:
        type: "array"
        items:
          $ref: "#/definitions/AnalyseV2Dto"
      sort:
        $ref: "#/definitions/Sort"
  PageDtoJobPartReferenceV2:
    type: "object"
    properties:
      totalElements:
        type: "integer"
        format: "int32"
      totalPages:
        type: "integer"
        format: "int32"
      pageSize:
        type: "integer"
        format: "int32"
      pageNumber:
        type: "integer"
        format: "int32"
      numberOfElements:
        type: "integer"
        format: "int32"
      content:
        type: "array"
        items:
          $ref: "#/definitions/JobPartReferenceV2"
      sort:
        $ref: "#/definitions/Sort"
  PageDtoUserReference:
    type: "object"
    properties:
      totalElements:
        type: "integer"
        format: "int32"
      totalPages:
        type: "integer"
        format: "int32"
      pageSize:
        type: "integer"
        format: "int32"
      pageNumber:
        type: "integer"
        format: "int32"
      numberOfElements:
        type: "integer"
        format: "int32"
      content:
        type: "array"
        items:
          $ref: "#/definitions/UserReference"
      sort:
        $ref: "#/definitions/Sort"
  PageDtoWebHookDtoV2:
    type: "object"
    properties:
      totalElements:
        type: "integer"
        format: "int32"
      totalPages:
        type: "integer"
        format: "int32"
      pageSize:
        type: "integer"
        format: "int32"
      pageNumber:
        type: "integer"
        format: "int32"
      numberOfElements:
        type: "integer"
        format: "int32"
      content:
        type: "array"
        items:
          $ref: "#/definitions/WebHookDtoV2"
      sort:
        $ref: "#/definitions/Sort"
  PreTranslateJobSettingsDto:
    type: "object"
    properties:
      autoPropagateRepetitions:
        type: "boolean"
        description: "Propagate repetitions. Default: false"
      confirmRepetitions:
        type: "boolean"
        description: "Set segment status to confirmed for: Repetitions. Default: false"
      setJobStatusCompleted:
        type: "boolean"
        description: "Pre-translate & set job to completed: Set job to completed once\
          \ pre-translated. Default: false"
      setJobStatusCompletedWhenConfirmed:
        type: "boolean"
        description: "Pre-translate & set job to completed when all segments confirmed:\n\
          Set job to completed once pre-translated and all segments are confirmed.\
          \ Default: false"
      setProjectStatusCompleted:
        type: "boolean"
        description: "Pre-translate & set job to completed: Set project to completed\
          \ once all jobs pre-translated.\n        Default: false"
      overwriteExistingTranslations:
        type: "boolean"
        description: "Overwrite existing translations in target segments. Default:\
          \ false"
      translationMemorySettings:
        $ref: "#/definitions/JobTranslationMemorySettingsDto"
      machineTranslationSettings:
        $ref: "#/definitions/JobMachineTranslationSettingsDto"
      nonTranslatableSettings:
        $ref: "#/definitions/JobNonTranslatableSettingsDto"
    description: "Pre-translate settings"
  PreTranslateJobsV2Dto:
    type: "object"
    required:
    - "jobs"
    properties:
      jobs:
        type: "array"
        description: "Jobs to be pre-translated"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 100
        minItems: 1
      segmentFilters:
        type: "array"
        items:
          type: "string"
          enum:
          - "LOCKED"
          - "NOT_LOCKED"
      useProjectPreTranslateSettings:
        type: "boolean"
        description: "If pre-translate settings from project should be used.\nIf true,\
          \ preTranslateSettings values are ignored. Default: false"
      callbackUrl:
        type: "string"
      preTranslateSettings:
        description: "Pre-translate settings, used if useProjectPreTranslateSettings\
          \ is false"
        $ref: "#/definitions/PreTranslateJobSettingsDto"
  PreTranslateSettingsV2Dto:
    type: "object"
    properties:
      autoPropagateRepetitions:
        type: "boolean"
        description: "Propagate repetitions. Default: false"
      confirmRepetitions:
        type: "boolean"
        description: "Set segment status to confirmed for: Repetitions. Default: false"
      preTranslateOnJobCreation:
        type: "boolean"
        description: "Pre-translate & set job to completed: Pre-translate on job creation.\
          \ Default: false"
      setJobStatusCompleted:
        type: "boolean"
        description: "Pre-translate & set job to completed: Set job to completed once\
          \ pre-translated. Default: false"
      setJobStatusCompletedWhenConfirmed:
        type: "boolean"
        description: "Pre-translate & set job to completed when all segments confirmed:\n\
          Set job to completed once pre-translated and all segments are confirmed.\
          \ Default: false"
      setProjectStatusCompleted:
        type: "boolean"
        description: "Pre-translate & set job to completed: Set project to completed\
          \ once all jobs pre-translated.\n        Default: false"
      overwriteExistingTranslations:
        type: "boolean"
        description: "Overwrite existing translations in target segments. Default:\
          \ false"
      translationMemorySettings:
        $ref: "#/definitions/TranslationMemorySettingsDto_3"
      machineTranslationSettings:
        $ref: "#/definitions/MachineTranslationSettingsDto_3"
      nonTranslatableSettings:
        $ref: "#/definitions/NonTranslatableSettingsDto_3"
    description: "Pre-translate settings"
  PriceListReference:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      uid:
        type: "string"
  ProgressDtoV2:
    type: "object"
    properties:
      totalCount:
        type: "integer"
        format: "int32"
      finishedCount:
        type: "integer"
        format: "int32"
      overdueCount:
        type: "integer"
        format: "int32"
  ProjectJobPartsDto:
    type: "object"
    properties:
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/JobPartReference"
      project:
        $ref: "#/definitions/ProjectReference"
  ProjectReference:
    type: "object"
    properties:
      name:
        type: "string"
      uid:
        type: "string"
  ProjectSecuritySettingsDtoV2:
    type: "object"
    properties:
      downloadEnabled:
        type: "boolean"
      webEditorEnabledForLinguists:
        type: "boolean"
      showUserDataToLinguists:
        type: "boolean"
      emailNotifications:
        type: "boolean"
      strictWorkflowFinish:
        type: "boolean"
      useVendors:
        type: "boolean"
      linguistsMayEditLockedSegments:
        type: "boolean"
      usersMaySetAutoPropagation:
        type: "boolean"
      allowLoadingExternalContentInEditors:
        type: "boolean"
      allowLoadingIframes:
        type: "boolean"
      linguistsMayEditSource:
        type: "boolean"
      linguistsMayEditTagContent:
        type: "boolean"
      linguistsMayDownloadLqaReport:
        type: "boolean"
      usernamesDisplayedInLqaReport:
        type: "boolean"
      userMaySetInstantQA:
        type: "boolean"
      triggerWebhooks:
        type: "boolean"
      notifyJobOwnerStatusChanged:
        type: "boolean"
      vendors:
        $ref: "#/definitions/VendorSecuritySettingsDto"
      allowedDomains:
        type: "array"
        items:
          type: "string"
  ProjectTemplate:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      templateName:
        type: "string"
      name:
        type: "string"
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      note:
        type: "string"
      useDynamicTitle:
        type: "boolean"
      dynamicTitle:
        type: "string"
      owner:
        $ref: "#/definitions/UserReference"
      client:
        $ref: "#/definitions/ClientReference"
      domain:
        $ref: "#/definitions/DomainReference"
      subDomain:
        $ref: "#/definitions/SubDomainReference"
      vendor:
        $ref: "#/definitions/VendorReference"
      createdBy:
        $ref: "#/definitions/UserReference"
      dateCreated:
        type: "string"
        format: "date-time"
      modifiedBy:
        $ref: "#/definitions/UserReference"
      dateModified:
        type: "string"
        format: "date-time"
        example: "{ \"epochSeconds\": 1624619701, \"nano\": 0 }"
        description: "Deprecated - use dateTimeModified field instead"
      dateTimeModified:
        type: "string"
        format: "date-time"
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowStepDto"
      workflowSettings:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowStepSettingsDto"
      projectWorkflowSettings:
        $ref: "#/definitions/ProjectWorkflowSettingsDto"
      businessUnit:
        $ref: "#/definitions/BusinessUnitReference"
      notifyProviders:
        $ref: "#/definitions/ProjectTemplateNotifyProviderDto"
      assignedTo:
        type: "array"
        items:
          $ref: "#/definitions/AssignmentPerTargetLangDto"
      importSettings:
        description: "Deprecated - always null"
        $ref: "#/definitions/UidReference"
  ProjectTemplateEditV2Dto:
    type: "object"
    required:
    - "templateName"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      templateName:
        type: "string"
        minLength: 0
        maxLength: 255
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      useDynamicTitle:
        type: "boolean"
      dynamicTitle:
        type: "string"
        minLength: 0
        maxLength: 255
      notifyProvider:
        description: "use to notify assigned providers,\n        notificationIntervalInMinutes\
          \ 0 or empty value means immediate notification to all providers"
        $ref: "#/definitions/NotifyProviderDto"
      workFlowSettings:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowStepSettingsEditV2Dto"
      projectWorkflowSettings:
        $ref: "#/definitions/ProjectWorkflowSettingsV2Dto"
      client:
        $ref: "#/definitions/IdReference"
      costCenter:
        $ref: "#/definitions/IdReference"
      businessUnit:
        $ref: "#/definitions/IdReference"
      domain:
        $ref: "#/definitions/IdReference"
      subDomain:
        $ref: "#/definitions/IdReference"
      vendor:
        $ref: "#/definitions/IdReference"
      importSettings:
        $ref: "#/definitions/UidReference"
      note:
        type: "string"
        minLength: 0
        maxLength: 4096
      owner:
        description: "Owner must be Admin or PM"
        $ref: "#/definitions/IdReference"
      fileHandover:
        type: "boolean"
        description: "Default: false"
      assignedTo:
        type: "array"
        description: "only use for projects without workflows; otherwise specify in\
          \ the workflowSettings object"
        items:
          $ref: "#/definitions/ProjectTemplateWorkflowSettingsAssignedToDto"
  ProjectTemplateNotifyProviderDto:
    type: "object"
    required:
    - "organizationEmailTemplate"
    properties:
      organizationEmailTemplate:
        $ref: "#/definitions/ObjectReference"
      notificationIntervalInMinutes:
        type: "integer"
        format: "int32"
        minimum: 0
        maximum: 1440
  ProjectTemplateTransMemoriesPerTargetLangDto:
    type: "object"
    properties:
      targetLang:
        type: "string"
      pttmsPerWfStep:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTemplateTransMemoriesPerWfStepDto"
  ProjectTemplateTransMemoriesPerTargetLangListDto:
    type: "object"
    properties:
      pttmsPerTargetLang:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTemplateTransMemoriesPerTargetLangDto"
      maxTmsEnabled:
        type: "integer"
        format: "int32"
  ProjectTemplateTransMemoriesPerWfStepDto:
    type: "object"
    properties:
      wfStep:
        $ref: "#/definitions/UidReference"
      pttmData:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTemplateTransMemoryDataDto"
  ProjectTemplateTransMemoryDataDto:
    type: "object"
    properties:
      wfStep:
        $ref: "#/definitions/UidReference"
      writeMode:
        type: "boolean"
      readMode:
        type: "boolean"
      penalty:
        type: "integer"
        format: "int64"
      targetLang:
        type: "string"
      transMemory:
        $ref: "#/definitions/TransMemoryReferenceDtoV2"
      applyPenaltyTo101Only:
        type: "boolean"
      order:
        type: "integer"
        format: "int32"
  ProjectTemplateTransMemoryListV2Dto:
    type: "object"
    properties:
      transMemories:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTemplateTransMemoryV2Dto"
  ProjectTemplateTransMemoryV2Dto:
    type: "object"
    properties:
      targetLocale:
        type: "string"
      workflowStep:
        $ref: "#/definitions/WorkflowStepReferenceV2"
      readMode:
        type: "boolean"
      writeMode:
        type: "boolean"
      transMemory:
        $ref: "#/definitions/TransMemoryDtoV2"
      penalty:
        type: "number"
        format: "double"
      applyPenaltyTo101Only:
        type: "boolean"
      order:
        type: "integer"
        format: "int32"
  ProjectTemplateWorkflowSettingsAssignedToDto:
    type: "object"
    properties:
      targetLang:
        type: "string"
      providers:
        type: "array"
        items:
          $ref: "#/definitions/ProviderReference"
  ProjectTransMemoriesPerTargetLangDto:
    type: "object"
    properties:
      targetLang:
        type: "string"
      ptmsPerWfStep:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTransMemoriesPerWfStepDto"
  ProjectTransMemoriesPerTargetLangListDto:
    type: "object"
    properties:
      ptmsPerTargetLang:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTransMemoriesPerTargetLangDto"
      maxTmsEnabled:
        type: "integer"
        format: "int32"
  ProjectTransMemoriesPerWfStepDto:
    type: "object"
    properties:
      wfStep:
        $ref: "#/definitions/UidReference"
      ptmData:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTransMemoryDataDto"
  ProjectTransMemoryDataDto:
    type: "object"
    properties:
      wfStep:
        $ref: "#/definitions/UidReference"
      writeMode:
        type: "boolean"
      readMode:
        type: "boolean"
      penalty:
        type: "integer"
        format: "int64"
      targetLang:
        type: "string"
      transMemory:
        $ref: "#/definitions/TransMemoryReferenceDtoV2"
      applyPenaltyTo101Only:
        type: "boolean"
      order:
        type: "integer"
        format: "int32"
      sharedOwner:
        type: "string"
        description: "Owner of project trans memory in shared projects"
  ProjectTransMemoryDtoV2:
    type: "object"
    properties:
      targetLocale:
        type: "string"
      workflowStep:
        $ref: "#/definitions/WorkflowStepReferenceV2"
      readMode:
        type: "boolean"
      writeMode:
        type: "boolean"
      transMemory:
        $ref: "#/definitions/TransMemoryDtoV2"
      penalty:
        type: "number"
        format: "double"
      applyPenaltyTo101Only:
        type: "boolean"
  ProjectTransMemoryListDtoV2:
    type: "object"
    properties:
      transMemories:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTransMemoryDtoV2"
  ProjectWorkflowSettingsDto:
    type: "object"
    properties:
      completeUnassigned:
        type: "boolean"
      propagateTranslationsToLowerWfDuringUpdateSource:
        type: "boolean"
  ProjectWorkflowSettingsReference:
    type: "object"
    properties:
      propagateTranslationsToLowerWfDuringUpdateSource:
        type: "boolean"
  ProjectWorkflowSettingsV2Dto:
    type: "object"
    properties:
      completeUnassigned:
        type: "boolean"
      propagateTranslationsToLowerWfDuringUpdateSource:
        type: "boolean"
  ProjectWorkflowStepDtoV2:
    type: "object"
    properties:
      id:
        type: "integer"
        format: "int64"
      abbreviation:
        type: "string"
      name:
        type: "string"
      workflowLevel:
        type: "integer"
        format: "int32"
      workflowStep:
        $ref: "#/definitions/WorkflowStepReferenceV2"
  ProjectWorkflowStepListDtoV2:
    type: "object"
    properties:
      projectWorkflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/ProjectWorkflowStepDtoV2"
  ProjectWorkflowStepReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      order:
        type: "integer"
        format: "int32"
      workflowLevel:
        type: "integer"
        format: "int32"
  ProviderListDtoV2:
    type: "object"
    properties:
      providers:
        $ref: "#/definitions/Providers_2"
  ProviderReference:
    type: "object"
    required:
    - "type"
    discriminator: "type"
    properties:
      type:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
        readOnly: true
  Providers_2:
    type: "object"
    properties:
      all:
        type: "array"
        items:
          $ref: "#/definitions/ProviderReference"
      relevant:
        type: "array"
        items:
          $ref: "#/definitions/ProviderReference"
  PseudoTranslateActionDtoV2:
    type: "object"
    properties:
      replacement:
        type: "string"
      prefix:
        type: "string"
      suffix:
        type: "string"
      length:
        type: "number"
        format: "double"
      keyHashPrefixLen:
        type: "integer"
        format: "int32"
        minimum: 0
        maximum: 18
      substitution:
        type: "array"
        items:
          $ref: "#/definitions/SubstituteDtoV2"
        maxItems: 2147483647
        minItems: 0
  PseudoTranslateWrapperDto:
    type: "object"
    required:
    - "jobParts"
    - "pseudoTranslate"
    properties:
      jobParts:
        $ref: "#/definitions/JobPartReadyReferences_2"
      pseudoTranslate:
        $ref: "#/definitions/PseudoTranslateActionDtoV2"
  QACheckDtoV2:
    type: "object"
    required:
    - "name"
    - "type"
    discriminator: "type"
    properties:
      type:
        type: "string"
        enum:
        - "VOID"
        - "NUMBER"
        - "STRING"
        - "REGEX"
        - "MORAVIA"
      name:
        type: "string"
        enum:
        - "emptyTarget"
        - "inconsistentTranslation"
        - "joinMarksInconsistency"
        - "missingNumber"
        - "segmentNotConfirmed"
        - "nonConformingTerms"
        - "multipleSpaces"
        - "endPunctuation"
        - "targetLength"
        - "absoluteTargetLength"
        - "relativeTargetLength"
        - "inconsistentFormatting"
        - "unresolvedComment"
        - "emptyPairTags"
        - "strictJobStatus"
        - "forbiddenStringsEnabled"
        - "excludeLockedSegments"
        - "ignoreNotApprovedTerms"
        - "spellCheck"
        - "repeatedWords"
        - "inconsistentTagContent"
        - "emptyTagContent"
        - "malformed"
        - "forbiddenTerms"
        - "targetLengthPercent"
        - "targetLengthPerSegment"
        - "newerAtLowerLevel"
        - "leadingAndTrailingSpaces"
        - "targetSourceIdentical"
        - "ignoreInAllWorkflowSteps"
        - "regexp"
        - "unmodifiedFuzzyTranslation"
        - "unmodifiedFuzzyTranslationTM"
        - "unmodifiedFuzzyTranslationMTNT"
        - "moravia"
        - "extraNumbers"
        - "nestedTags"
  QASettingsDtoV2:
    type: "object"
    properties:
      checks:
        type: "array"
        items:
          $ref: "#/definitions/QACheckDtoV2"
  QualityAssuranceBatchRunDtoV2:
    type: "object"
    required:
    - "jobs"
    properties:
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 500
        minItems: 1
      settings:
        $ref: "#/definitions/QualityAssuranceRunDtoV2"
      maxQaWarningsCount:
        type: "integer"
        format: "int32"
        description: "Maximum number of QA warnings in result, default: 100. For efficiency\
          \ reasons QA\nwarnings are processed with minimum segments chunk size 10,\
          \ therefore slightly more warnings are returned."
        minimum: 1
        maximum: 1000
  QualityAssuranceChecksDtoV2:
    type: "object"
    properties:
      forbiddenStrings:
        type: "array"
        items:
          type: "string"
      enabledChecks:
        type: "array"
        example: "\n   [\n      {\n         \"checkerType\":\"EmptyTranslation\",\n\
          \         \"ignorable\":false\n      },\n      {\n         \"checkerType\"\
          :\"TrailingPunctuation\",\n         \"ignorable\":false\n      },\n    \
          \  {\n         \"checkerType\":\"Formatting\",\n         \"ignorable\":false\n\
          \      },\n      {\n         \"checkerType\":\"JoinTags\",\n         \"\
          ignorable\":false\n      },\n      {\n         \"checkerType\":\"MissingNumbers\"\
          ,\n         \"ignorable\":false\n      },\n      {\n         \"checkerType\"\
          :\"MultipleSpaces\",\n         \"ignorable\":false\n      },\n      {\n\
          \         \"checkerType\":\"NonConformingTerm\",\n         \"ignorable\"\
          :false\n      },\n      {\n         \"checkerType\":\"NotConfirmed\",\n\
          \         \"ignorable\":false\n      },\n      {\n         \"checkerType\"\
          :\"TranslationLength\",\n         \"ignorable\":false\n      },\n      {\n\
          \         \"checkerType\": \"AbsoluteLength\",\n         \"ignorable\":\
          \ false\n      },\n      {\n         \"checkerType\": \"RelativeLength\"\
          ,\n         \"ignorable\": false\n      },\n      {\n         \"checkerType\"\
          :\"EmptyPairTags\",\n         \"ignorable\":false\n      },\n      {\n \
          \        \"checkerType\":\"InconsistentTranslationTargetSource\",\n    \
          \     \"ignorable\":true\n      },\n      {\n         \"checkerType\":\"\
          InconsistentTranslationSourceTarget\",\n         \"ignorable\":true\n  \
          \    },\n      {\n         \"checkerType\":\"ForbiddenString\",\n      \
          \   \"ignorable\":false\n      },\n      {\n         \"checkerType\":\"\
          SpellCheck\",\n         \"ignorable\":false\n      },\n      {\n       \
          \  \"checkerType\":\"RepeatedWords\",\n         \"ignorable\":false\n  \
          \    },\n      {\n         \"checkerType\":\"InconsistentTagContent\",\n\
          \         \"ignorable\":false\n      },\n      {\n         \"checkerType\"\
          :\"EmptyTagContent\",\n         \"ignorable\":false\n      },\n      {\n\
          \         \"checkerType\":\"Malformed\",\n         \"ignorable\":false\n\
          \      },\n      {\n         \"checkerType\":\"ForbiddenTerm\",\n      \
          \   \"ignorable\":false\n      },\n      {\n         \"checkerType\":\"\
          NewerAtLowerLevel\",\n         \"ignorable\":false\n      },\n      {\n\
          \         \"checkerType\":\"LeadingAndTrailingSpaces\",\n         \"ignorable\"\
          :false\n      },\n      {\n         \"checkerType\":\"TargetSourceIdentical\"\
          ,\n         \"ignorable\":false\n      },\n      {\n         \"checkerType\"\
          :\"SourceOrTargetRegexp\"\n      },\n      {\n         \"checkerType\":\"\
          UnmodifiedFuzzyTranslationTM\",\n         \"ignorable\":true\n      },\n\
          \      {\n         \"checkerType\":\"UnmodifiedFuzzyTranslationMTNT\",\n\
          \         \"ignorable\":true\n      },\n      {\n         \"checkerType\"\
          :\"Moravia\",\n         \"ignorable\":false,\n         \"context\": {\"\
          moraviaProfileId\": \"MoraviaProfileIdValue\"}\n      },\n      {\n    \
          \     \"checkerType\":\"ExtraNumbers\",\n         \"ignorable\":true\n \
          \     },\n      {\n         \"checkerType\":\"UnresolvedConversation\",\n\
          \         \"ignorable\":false\n      },\n      {\n         \"checkerType\"\
          :\"NestedTags\",\n         \"ignorable\":false\n      },\n      {\n    \
          \     \"checkerType\":\"FuzzyInconsistency\",\n         \"ignorable\":true\n\
          \      }\n   ]\n"
        description: "enabledChecks"
        items:
          $ref: "#/definitions/EnabledCheckDtoV2"
      excludeLockedSegments:
        type: "boolean"
      userCanSetInstantQA:
        type: "boolean"
      strictJobStatus:
        type: "boolean"
      regexpRules:
        type: "array"
        items:
          $ref: "#/definitions/RegexpCheckRuleDtoV2"
  QualityAssuranceResponse:
    type: "object"
    properties:
      segmentWarnings:
        type: "array"
        items:
          $ref: "#/definitions/SegmentWarnings"
      finished:
        type: "boolean"
  QualityAssuranceRunDtoV2:
    type: "object"
    properties:
      initialSegment:
        $ref: "#/definitions/SegmentReference"
      maxQaWarningsCount:
        type: "integer"
        format: "int32"
        description: "Maximum number of QA warnings in result, default: 100. For efficiency\
          \ reasons QA\nwarnings are processed with minimum segments chunk size 10,\
          \ therefore slightly more warnings are returned."
        minimum: 1
        maximum: 1000
      warningTypes:
        type: "array"
        items:
          type: "string"
          enum:
          - "EmptyTranslation"
          - "TrailingPunctuation"
          - "Formatting"
          - "JoinTags"
          - "MissingNumbersV3"
          - "MultipleSpacesV3"
          - "NonConformingTerm"
          - "NotConfirmed"
          - "TranslationLength"
          - "AbsoluteLength"
          - "RelativeLength"
          - "UnresolvedComment"
          - "EmptyPairTags"
          - "InconsistentTranslationTargetSource"
          - "InconsistentTranslationSourceTarget"
          - "ForbiddenString"
          - "SpellCheck"
          - "RepeatedWord"
          - "InconsistentTagContent"
          - "EmptyTagContent"
          - "Malformed"
          - "ForbiddenTerm"
          - "NewerAtLowerLevel"
          - "LeadingAndTrailingSpaces"
          - "LeadingSpaces"
          - "TrailingSpaces"
          - "TargetSourceIdentical"
          - "SourceOrTargetRegexp"
          - "UnmodifiedFuzzyTranslation"
          - "UnmodifiedFuzzyTranslationTM"
          - "UnmodifiedFuzzyTranslationMTNT"
          - "Moravia"
          - "ExtraNumbersV3"
          - "UnresolvedConversation"
          - "NestedTags"
          - "FuzzyInconsistencyTargetSource"
          - "FuzzyInconsistencySourceTarget"
          - "CustomQA"
          - "MissingNonTranslatableAnnotation"
        maxItems: 100
        minItems: 0
  QualityAssuranceSegmentsRunDto:
    type: "object"
    required:
    - "jobsAndSegments"
    properties:
      jobsAndSegments:
        type: "array"
        items:
          $ref: "#/definitions/JobPartSegmentsDto"
        maxItems: 100
        minItems: 1
      warningTypes:
        type: "array"
        items:
          type: "string"
          enum:
          - "EmptyTranslation"
          - "TrailingPunctuation"
          - "Formatting"
          - "JoinTags"
          - "MissingNumbersV3"
          - "MultipleSpacesV3"
          - "NonConformingTerm"
          - "NotConfirmed"
          - "TranslationLength"
          - "AbsoluteLength"
          - "RelativeLength"
          - "UnresolvedComment"
          - "EmptyPairTags"
          - "InconsistentTranslationTargetSource"
          - "InconsistentTranslationSourceTarget"
          - "ForbiddenString"
          - "SpellCheck"
          - "RepeatedWord"
          - "InconsistentTagContent"
          - "EmptyTagContent"
          - "Malformed"
          - "ForbiddenTerm"
          - "NewerAtLowerLevel"
          - "LeadingAndTrailingSpaces"
          - "LeadingSpaces"
          - "TrailingSpaces"
          - "TargetSourceIdentical"
          - "SourceOrTargetRegexp"
          - "UnmodifiedFuzzyTranslation"
          - "UnmodifiedFuzzyTranslationTM"
          - "UnmodifiedFuzzyTranslationMTNT"
          - "Moravia"
          - "ExtraNumbersV3"
          - "UnresolvedConversation"
          - "NestedTags"
          - "FuzzyInconsistencyTargetSource"
          - "FuzzyInconsistencySourceTarget"
          - "CustomQA"
          - "MissingNonTranslatableAnnotation"
        maxItems: 100
        minItems: 0
      maxQaWarningsCount:
        type: "integer"
        format: "int32"
        description: "Maximum number of QA warnings in result, default: 100. For efficiency\
          \ reasons QA\nwarnings are processed with minimum segments chunk size 10,\
          \ therefore slightly more warnings are returned."
        minimum: 1
        maximum: 1000
  QuoteCreateV2Dto:
    type: "object"
    required:
    - "analyse"
    - "name"
    - "priceList"
    - "project"
    properties:
      name:
        type: "string"
        minLength: 0
        maxLength: 255
      project:
        $ref: "#/definitions/UidReference"
      analyse:
        $ref: "#/definitions/IdReference"
      priceList:
        $ref: "#/definitions/IdReference"
      netRateScheme:
        $ref: "#/definitions/IdReference"
      provider:
        $ref: "#/definitions/ProviderReference"
      workflowSettings:
        type: "array"
        uniqueItems: true
        items:
          $ref: "#/definitions/QuoteWorkflowSettingDto"
      units:
        type: "array"
        items:
          $ref: "#/definitions/QuoteUnitsDto"
      additionalSteps:
        type: "array"
        items:
          type: "string"
  QuoteUnitsDto:
    type: "object"
    required:
    - "analyseLanguagePart"
    properties:
      analyseLanguagePart:
        $ref: "#/definitions/IdReference"
      value:
        type: "number"
        format: "double"
        minimum: 0
  QuoteV2Dto:
    type: "object"
    properties:
      id:
        type: "integer"
        format: "int64"
      uid:
        type: "string"
      name:
        type: "string"
      status:
        type: "string"
        enum:
        - "APPROVED"
        - "DECLINED"
        - "DRAFT"
        - "FOR_APPROVAL"
        - "NEW"
      currency:
        type: "string"
      billingUnit:
        type: "string"
        enum:
        - "Character"
        - "Word"
        - "Page"
        - "Hour"
      createdBy:
        $ref: "#/definitions/UserReference"
      dateCreated:
        type: "string"
        format: "date-time"
      totalPrice:
        type: "number"
        format: "double"
      netRateScheme:
        $ref: "#/definitions/NetRateSchemeReference"
      priceList:
        $ref: "#/definitions/PriceListReference"
      workflowStepList:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowStepReference"
      provider:
        $ref: "#/definitions/ProviderReference"
      customerEmail:
        type: "string"
      quoteType:
        type: "string"
        enum:
        - "BUYER"
        - "PROVIDER"
      editable:
        type: "boolean"
      outdated:
        type: "boolean"
      additionalSteps:
        type: "array"
        items:
          $ref: "#/definitions/AdditionalWorkflowStepV2Dto"
  QuoteWorkflowSettingDto:
    type: "object"
    required:
    - "workflowStep"
    properties:
      workflowStep:
        $ref: "#/definitions/IdReference"
      units:
        type: "array"
        items:
          $ref: "#/definitions/QuoteUnitsDto"
        maxItems: 100
        minItems: 0
  REGEX:
    allOf:
    - $ref: "#/definitions/QACheckDtoV2"
    - type: "object"
      properties:
        rules:
          type: "array"
          items:
            $ref: "#/definitions/RegexpCheckRuleDtoV2"
  ReferenceCorrelation:
    type: "object"
    properties:
      uid:
        type: "string"
      role:
        type: "string"
        enum:
        - "PARENT"
  ReferenceFileReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      filename:
        type: "string"
      note:
        type: "string"
      dateCreated:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/UserReference"
  ReferenceFilesDto:
    type: "object"
    properties:
      referenceFiles:
        type: "array"
        items:
          $ref: "#/definitions/ReferenceFileReference"
  RegexpCheckRuleDtoV2:
    type: "object"
    properties:
      description:
        type: "string"
      sourceRegexp:
        type: "string"
      targetRegexp:
        type: "string"
      id:
        type: "string"
      ignorable:
        type: "boolean"
      instant:
        type: "boolean"
  STRING:
    allOf:
    - $ref: "#/definitions/QACheckDtoV2"
    - type: "object"
      properties:
        ignorable:
          type: "boolean"
        enabled:
          type: "boolean"
        value:
          type: "string"
        instant:
          type: "boolean"
  SearchInTextResponse2Dto:
    type: "object"
    properties:
      termBase:
        $ref: "#/definitions/TermBaseReference"
      sourceTerm:
        $ref: "#/definitions/TermV2Dto"
      concept:
        $ref: "#/definitions/ConceptDtov2"
      translationTerms:
        type: "array"
        items:
          $ref: "#/definitions/TermV2Dto"
      subTerm:
        type: "boolean"
      matches:
        type: "array"
        items:
          $ref: "#/definitions/Match"
  SearchInTextResponseList2Dto:
    type: "object"
    properties:
      searchResults:
        type: "array"
        items:
          $ref: "#/definitions/SearchInTextResponse2Dto"
  SearchResponseListTmDtoV2:
    type: "object"
    properties:
      searchResults:
        type: "array"
        items:
          $ref: "#/definitions/SearchTMResponseDtoV2"
  SearchTMByJobRequestDtoV2:
    type: "object"
    required:
    - "query"
    properties:
      query:
        type: "string"
      workflowLevel:
        type: "integer"
        format: "int32"
        description: "Default: 0"
        minimum: 0
      reverse:
        type: "boolean"
        description: "Default: false"
      scoreThreshold:
        type: "number"
        format: "double"
        description: "Default: 0.0"
        minimum: 0.0
        maximum: 1.01
        exclusiveMinimum: false
        exclusiveMaximum: false
      maxResults:
        type: "integer"
        format: "int32"
        description: "Default: 15"
        minimum: 1
        maximum: 100
  SearchTMClientDtoV2:
    type: "object"
    properties:
      id:
        type: "integer"
        format: "int64"
      name:
        type: "string"
  SearchTMDomainDtoV2:
    type: "object"
    properties:
      id:
        type: "integer"
        format: "int64"
      name:
        type: "string"
  SearchTMProjectDtoV2:
    type: "object"
    properties:
      id:
        type: "integer"
        format: "int64"
      uid:
        type: "string"
      name:
        type: "string"
  SearchTMResponseDtoV2:
    type: "object"
    properties:
      segmentId:
        type: "string"
      source:
        $ref: "#/definitions/SearchTMSegmentDtoV2"
      translations:
        type: "array"
        items:
          $ref: "#/definitions/SearchTMSegmentDtoV2"
      transMemory:
        $ref: "#/definitions/SearchTMTransMemoryDtoV2"
      grossScore:
        type: "number"
        format: "double"
      score:
        type: "number"
        format: "double"
      subSegment:
        type: "boolean"
  SearchTMSegmentDtoV2:
    type: "object"
    properties:
      id:
        type: "string"
      text:
        type: "string"
      lang:
        type: "string"
      rtl:
        type: "boolean"
      modifiedAt:
        type: "integer"
        format: "int64"
      createdAt:
        type: "integer"
        format: "int64"
      modifiedBy:
        $ref: "#/definitions/UserReference"
      createdBy:
        $ref: "#/definitions/UserReference"
      filename:
        type: "string"
      project:
        $ref: "#/definitions/SearchTMProjectDtoV2"
      client:
        $ref: "#/definitions/SearchTMClientDtoV2"
      domain:
        $ref: "#/definitions/SearchTMDomainDtoV2"
      subDomain:
        $ref: "#/definitions/SearchTMSubDomainDtoV2"
      tagMetadata:
        type: "array"
        items:
          $ref: "#/definitions/TagMetadata"
      previousSegment:
        type: "string"
      nextSegment:
        type: "string"
      key:
        type: "string"
  SearchTMSubDomainDtoV2:
    type: "object"
    properties:
      id:
        type: "integer"
        format: "int64"
      name:
        type: "string"
  SearchTMTransMemoryDtoV2:
    type: "object"
    properties:
      uid:
        type: "string"
      id:
        type: "string"
      name:
        type: "string"
      reverse:
        type: "boolean"
  SearchTbByJobRequestDto:
    type: "object"
    required:
    - "query"
    properties:
      query:
        type: "string"
      count:
        type: "integer"
        format: "int32"
        description: "Default: 15"
      offset:
        type: "integer"
        format: "int32"
        description: "Default: 0"
      reverse:
        type: "boolean"
        description: "Default: false"
  SearchTbInTextByJobRequestDto:
    type: "object"
    required:
    - "text"
    properties:
      text:
        type: "string"
      reverse:
        type: "boolean"
        description: "Default: false"
      zeroLengthSeparator:
        type: "string"
  SearchTbResponseDto:
    type: "object"
    properties:
      termBase:
        $ref: "#/definitions/TermBaseReference"
      concept:
        $ref: "#/definitions/ConceptDtov2"
      sourceTerm:
        $ref: "#/definitions/TermV2Dto"
      translationTerms:
        type: "array"
        items:
          $ref: "#/definitions/TermV2Dto"
  SearchTbResponseListDto:
    type: "object"
    properties:
      searchResults:
        type: "array"
        items:
          $ref: "#/definitions/SearchTbResponseDto"
  SegmentReference:
    type: "object"
    properties:
      uid:
        type: "string"
  SegmentWarnings:
    type: "object"
    properties:
      segmentId:
        type: "string"
      warnings:
        type: "array"
        items:
          $ref: "#/definitions/Warning"
      ignoredChecks:
        type: "array"
        items:
          type: "string"
          enum:
          - "EmptyTranslation"
          - "TrailingPunctuation"
          - "Formatting"
          - "JoinTags"
          - "MissingNumbersV3"
          - "MultipleSpacesV3"
          - "NonConformingTerm"
          - "NotConfirmed"
          - "TranslationLength"
          - "AbsoluteLength"
          - "RelativeLength"
          - "UnresolvedComment"
          - "EmptyPairTags"
          - "InconsistentTranslationTargetSource"
          - "InconsistentTranslationSourceTarget"
          - "ForbiddenString"
          - "SpellCheck"
          - "RepeatedWord"
          - "InconsistentTagContent"
          - "EmptyTagContent"
          - "Malformed"
          - "ForbiddenTerm"
          - "NewerAtLowerLevel"
          - "LeadingAndTrailingSpaces"
          - "LeadingSpaces"
          - "TrailingSpaces"
          - "TargetSourceIdentical"
          - "SourceOrTargetRegexp"
          - "UnmodifiedFuzzyTranslation"
          - "UnmodifiedFuzzyTranslationTM"
          - "UnmodifiedFuzzyTranslationMTNT"
          - "Moravia"
          - "ExtraNumbersV3"
          - "UnresolvedConversation"
          - "NestedTags"
          - "FuzzyInconsistencyTargetSource"
          - "FuzzyInconsistencySourceTarget"
          - "CustomQA"
          - "MissingNonTranslatableAnnotation"
  SetContextPTTransMemoriesV2Dto:
    type: "object"
    required:
    - "transMemories"
    properties:
      transMemories:
        type: "array"
        items:
          $ref: "#/definitions/SetProjectTemplateTransMemoryV2Dto"
      targetLang:
        type: "string"
        description: "Set translation memory only for the specific project target\
          \ language"
      workflowStep:
        description: "Set translation memory only for the specific workflow step"
        $ref: "#/definitions/UidReference"
      orderEnabled:
        type: "boolean"
        description: "Default: false"
  SetProjectTemplateTransMemoriesV2Dto:
    type: "object"
    required:
    - "dataPerContext"
    properties:
      dataPerContext:
        type: "array"
        items:
          $ref: "#/definitions/SetContextPTTransMemoriesV2Dto"
  SetProjectTemplateTransMemoryV2Dto:
    type: "object"
    required:
    - "transMemory"
    properties:
      transMemory:
        $ref: "#/definitions/UidReference"
      readMode:
        type: "boolean"
        description: "Default: false"
      writeMode:
        type: "boolean"
        description: "Can be set only for Translation Memory with read == true.<br/>\n\
          \        Max 2 write TMs allowed per project.<br/>\n        Default: false"
      penalty:
        type: "number"
        format: "double"
        minimum: 0.0
        maximum: 100.0
        exclusiveMinimum: false
        exclusiveMaximum: false
      applyPenaltyTo101Only:
        type: "boolean"
        description: "Can be set only for penalty == 1<br/>Default: false"
      order:
        type: "integer"
        format: "int32"
  SetProjectTransMemoriesV2Dto:
    type: "object"
    properties:
      transMemories:
        type: "array"
        items:
          $ref: "#/definitions/SetProjectTransMemoryDto"
      targetLang:
        type: "string"
        description: "Set translation memory only for the specific project target\
          \ language"
      workflowStep:
        description: "Set translation memory only for the specific workflow step"
        $ref: "#/definitions/IdReference"
  SetProjectTransMemoryDto:
    type: "object"
    required:
    - "transMemory"
    properties:
      transMemory:
        $ref: "#/definitions/IdReference"
      readMode:
        type: "boolean"
        description: "Default: false"
      writeMode:
        type: "boolean"
        description: "Can be set only for Translation Memory with read == true.<br/>\n\
          \        Max 2 write TMs allowed per project.<br/>\n        Default: false"
      penalty:
        type: "number"
        format: "double"
        minimum: 0.0
        maximum: 100.0
        exclusiveMinimum: false
        exclusiveMaximum: false
      applyPenaltyTo101Only:
        type: "boolean"
        description: "Can be set only for penalty == 1<br/>Default: false"
  Sort:
    type: "object"
    properties:
      orders:
        type: "array"
        items:
          $ref: "#/definitions/Order"
  StatusDto:
    type: "object"
    properties:
      name:
        type: "string"
        enum:
        - "resolved"
        - "unresolved"
      by:
        $ref: "#/definitions/MentionableUserDto"
      date:
        type: "string"
        format: "date-time"
  SubDomainReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
  SubstituteDtoV2:
    type: "object"
    required:
    - "source"
    - "target"
    properties:
      source:
        type: "string"
        minLength: 1
        maxLength: 1
      target:
        type: "string"
        minLength: 1
        maxLength: 1
  TagMetadata:
    type: "object"
    properties:
      id:
        type: "string"
      type:
        type: "string"
      content:
        type: "string"
      transAttributes:
        type: "string"
  TermBaseReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
  TermV2Dto:
    type: "object"
    required:
    - "text"
    properties:
      id:
        type: "string"
      text:
        type: "string"
      lang:
        type: "string"
      rtl:
        type: "boolean"
      modifiedAt:
        type: "string"
        format: "date-time"
      createdAt:
        type: "string"
        format: "date-time"
      modifiedBy:
        $ref: "#/definitions/UserReference"
      createdBy:
        $ref: "#/definitions/UserReference"
      caseSensitive:
        type: "boolean"
      exactMatch:
        type: "boolean"
      forbidden:
        type: "boolean"
      preferred:
        type: "boolean"
      status:
        type: "string"
        enum:
        - "New"
        - "Approved"
      conceptId:
        type: "string"
      usage:
        type: "string"
      note:
        type: "string"
      writable:
        type: "boolean"
      shortTranslation:
        type: "string"
      termType:
        type: "string"
      partOfSpeech:
        type: "string"
      gender:
        type: "string"
      number:
        type: "string"
  TransMemoryDtoV2:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      internalId:
        type: "integer"
        format: "int32"
      name:
        type: "string"
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      client:
        $ref: "#/definitions/ClientReference"
      businessUnit:
        $ref: "#/definitions/BusinessUnitReference"
      domain:
        $ref: "#/definitions/DomainReference"
      subDomain:
        $ref: "#/definitions/SubDomainReference"
      note:
        type: "string"
      dateCreated:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/UserReference"
      owner:
        $ref: "#/definitions/UserReference"
      relatedProjectsCount:
        type: "integer"
        format: "int64"
      collaboratorsCount:
        type: "integer"
        format: "int32"
      canEdit:
        type: "boolean"
  TransMemoryReferenceDtoV2:
    type: "object"
    required:
    - "uid"
    properties:
      internalId:
        type: "integer"
        format: "int32"
      uid:
        type: "string"
      name:
        type: "string"
      sourceLang:
        type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
  TranslationMemorySettingsDto_3:
    type: "object"
    properties:
      useTranslationMemory:
        type: "boolean"
        description: "Pre-translate from translation memory. Default: false"
      translationMemoryThreshold:
        type: "number"
        format: "double"
        description: "Pre-translation threshold percent"
        minimum: 0
        maximum: 1.01
        exclusiveMinimum: false
        exclusiveMaximum: false
      confirm100PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 100% translation memory\
          \ matches. Default: false"
      confirm101PercentMatches:
        type: "boolean"
        description: "Set segment status to confirmed for: 101% translation memory\
          \ matches. Default: false"
      lock100PercentMatches:
        type: "boolean"
        description: "Lock section: 100% translation memory matches. Default: false"
      lock101PercentMatches:
        type: "boolean"
        description: "Lock section: 101% translation memory matches. Default: false"
    description: "Translation memory related settings"
  TranslationSegmentsReferenceV2:
    type: "object"
    properties:
      confirmed:
        type: "boolean"
        description: "Remove confirmed (true), unconfirmed (false) or both segments\
          \ (null). Default: null"
      locked:
        type: "boolean"
        description: "Remove locked (true), unlocked (false) or both segments (null).\
          \ Default: false"
  USER:
    allOf:
    - $ref: "#/definitions/ProviderReference"
    - type: "object"
      properties:
        userName:
          type: "string"
          readOnly: true
        firstName:
          type: "string"
          readOnly: true
        lastName:
          type: "string"
          readOnly: true
        email:
          type: "string"
          readOnly: true
        active:
          type: "boolean"
          readOnly: true
  UidReference:
    type: "object"
    required:
    - "uid"
    properties:
      uid:
        type: "string"
  UpdateIgnoredJobPartSegment:
    type: "object"
    required:
    - "jobPartUid"
    - "segments"
    properties:
      jobPartUid:
        type: "string"
      segments:
        type: "array"
        items:
          $ref: "#/definitions/UpdateIgnoredSegment_2"
        maxItems: 500
        minItems: 1
  UpdateIgnoredSegment_2:
    type: "object"
    required:
    - "uid"
    - "warnings"
    properties:
      uid:
        type: "string"
      warnings:
        type: "array"
        items:
          $ref: "#/definitions/UpdateIgnoredWarning_2"
        maxItems: 100
        minItems: 1
  UpdateIgnoredWarning_2:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "string"
  UpdateIgnoredWarningsDto_2:
    type: "object"
    required:
    - "jobParts"
    properties:
      jobParts:
        type: "array"
        items:
          $ref: "#/definitions/UpdateIgnoredJobPartSegment"
        maxItems: 500
        minItems: 1
  UploadBilingualFileRequestDto:
    type: "object"
    required:
    - "file"
    properties:
      file:
        description: "One or more bilingual files and/or ZIP archives (max 50)"
        $ref: "#/definitions/MultipartFile"
  UserCreateDtoV2:
    type: "object"
    required:
    - "email"
    - "firstName"
    - "lastName"
    - "password"
    - "role"
    - "timezone"
    - "userName"
    properties:
      userName:
        type: "string"
        minLength: 0
        maxLength: 255
      firstName:
        type: "string"
        minLength: 0
        maxLength: 255
      lastName:
        type: "string"
        minLength: 0
        maxLength: 255
      email:
        type: "string"
        minLength: 0
        maxLength: 255
      password:
        type: "string"
        minLength: 0
        maxLength: 255
      role:
        type: "string"
        enum:
        - "ADMIN"
        - "PROJECT_MANAGER"
        - "LINGUIST"
        - "GUEST"
        - "SUBMITTER"
      timezone:
        type: "string"
        minLength: 0
        maxLength: 255
      note:
        type: "string"
        minLength: 0
        maxLength: 4096
      mayEditApprovedTerms:
        type: "boolean"
        description: "In previous version as terminologist. Default: false"
      mayRejectJobs:
        type: "boolean"
        description: "Default: false"
      mayCompleteUnconfirmedJobs:
        type: "boolean"
        description: "Default: false"
      editorMachineTranslateEnabled:
        type: "boolean"
        description: "Applies only to Linguist or Guest. Default: true"
      receiveNewsletter:
        type: "boolean"
        description: "Default: true"
      mayEditTranslationMemory:
        type: "boolean"
        description: "Default: false"
      sourceLangs:
        type: "array"
        items:
          type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      clients:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      domains:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      subDomains:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      projectBusinessUnits:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
  UserDetailsDtoV2:
    type: "object"
    properties:
      id:
        type: "string"
        readOnly: true
      userName:
        type: "string"
      firstName:
        type: "string"
      lastName:
        type: "string"
      email:
        type: "string"
      dateCreated:
        type: "string"
        format: "date-time"
      dateDeleted:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/UserReference"
      role:
        type: "string"
        enum:
        - "SYS_ADMIN"
        - "SYS_ADMIN_READ"
        - "ADMIN"
        - "PROJECT_MANAGER"
        - "LINGUIST"
        - "GUEST"
        - "SUBMITTER"
        - "PORTAL_MEMBER"
      timezone:
        type: "string"
      note:
        type: "string"
      mayEditApprovedTerms:
        type: "boolean"
        description: "Default: false"
      mayRejectJobs:
        type: "boolean"
        description: "Default: false"
      editorMachineTranslateEnabled:
        type: "boolean"
        description: "Default: true"
      receiveNewsletter:
        type: "boolean"
        description: "Default: true"
      mayEditTranslationMemory:
        type: "boolean"
        description: "Default: false"
      maySeeProviderNames:
        type: "boolean"
        description: "Default: false"
      sourceLangs:
        type: "array"
        items:
          type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowStepReference"
      clients:
        type: "array"
        items:
          $ref: "#/definitions/ClientReference"
      domains:
        type: "array"
        items:
          $ref: "#/definitions/DomainReference"
      subDomains:
        type: "array"
        items:
          $ref: "#/definitions/SubDomainReference"
      projectBusinessUnits:
        type: "array"
        items:
          $ref: "#/definitions/BusinessUnitReference"
      organization:
        $ref: "#/definitions/ObjectReference"
      priceList:
        $ref: "#/definitions/PriceListReference"
      netRateScheme:
        $ref: "#/definitions/DiscountSchemeReference"
      automationWidgets:
        type: "array"
        items:
          $ref: "#/definitions/JobWidgetReference"
      active:
        type: "boolean"
    description: "User with all belonging objects"
  UserEditDtoV2:
    type: "object"
    required:
    - "email"
    - "firstName"
    - "lastName"
    - "role"
    - "timezone"
    - "userName"
    properties:
      userName:
        type: "string"
        minLength: 0
        maxLength: 255
      firstName:
        type: "string"
        minLength: 0
        maxLength: 255
      lastName:
        type: "string"
        minLength: 0
        maxLength: 255
      email:
        type: "string"
        minLength: 0
        maxLength: 255
      role:
        type: "string"
        enum:
        - "ADMIN"
        - "PROJECT_MANAGER"
        - "LINGUIST"
        - "GUEST"
        - "SUBMITTER"
      timezone:
        type: "string"
        minLength: 0
        maxLength: 255
      note:
        type: "string"
        minLength: 0
        maxLength: 4096
      mayEditApprovedTerms:
        type: "boolean"
        description: "In previous version as terminologist. Default: false"
      mayRejectJobs:
        type: "boolean"
        description: "Default: false"
      editorMachineTranslateEnabled:
        type: "boolean"
        description: "Applies only to Linguist or Guest. Default: true"
      receiveNewsletter:
        type: "boolean"
        description: "Default: true"
      mayEditTranslationMemory:
        type: "boolean"
        description: "Default: false"
      sourceLangs:
        type: "array"
        items:
          type: "string"
      targetLangs:
        type: "array"
        items:
          type: "string"
      active:
        type: "boolean"
        description: "Default: true"
      workflowSteps:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      clients:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      domains:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      subDomains:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      projectBusinessUnits:
        type: "array"
        items:
          $ref: "#/definitions/IdReference"
      automationWidgets:
        type: "array"
        description: "Applies only to Submitters, where it must contain at least one\
          \ assigned automation widget"
        items:
          $ref: "#/definitions/IdReference"
    description: "User object to update. Optional empty fields will be set to null"
  UserReference:
    type: "object"
    properties:
      firstName:
        type: "string"
      lastName:
        type: "string"
      userName:
        type: "string"
      email:
        type: "string"
      role:
        type: "string"
        enum:
        - "SYS_ADMIN"
        - "SYS_ADMIN_READ"
        - "ADMIN"
        - "PROJECT_MANAGER"
        - "LINGUIST"
        - "GUEST"
        - "SUBMITTER"
        - "PORTAL_MEMBER"
      id:
        type: "string"
      uid:
        type: "string"
  VENDOR:
    allOf:
    - $ref: "#/definitions/ProviderReference"
    - type: "object"
      properties:
        name:
          type: "string"
          readOnly: true
        defaultProjectOwnerId:
          type: "integer"
          format: "int64"
  VOID:
    allOf:
    - $ref: "#/definitions/QACheckDtoV2"
    - type: "object"
      properties:
        ignorable:
          type: "boolean"
        enabled:
          type: "boolean"
        instant:
          type: "boolean"
  VendorReference:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
  VendorSecuritySettingsDto:
    type: "object"
    properties:
      canChangeSharedJobDueDateEnabled:
        type: "boolean"
        description: "Default: `false`"
      canChangeSharedJobDueDate:
        type: "array"
        items:
          $ref: "#/definitions/UidReference"
      jobVendorsMayUploadReferences:
        type: "boolean"
        description: "Default: `false`"
  Warning:
    type: "object"
    properties:
      id:
        type: "string"
      ignored:
        type: "boolean"
      type:
        type: "string"
        enum:
        - "EmptyTranslation"
        - "TrailingPunctuation"
        - "Formatting"
        - "JoinTags"
        - "MissingNumbersV3"
        - "MultipleSpacesV3"
        - "NonConformingTerm"
        - "NotConfirmed"
        - "TranslationLength"
        - "AbsoluteLength"
        - "RelativeLength"
        - "UnresolvedComment"
        - "EmptyPairTags"
        - "InconsistentTranslationTargetSource"
        - "InconsistentTranslationSourceTarget"
        - "ForbiddenString"
        - "SpellCheck"
        - "RepeatedWord"
        - "InconsistentTagContent"
        - "EmptyTagContent"
        - "Malformed"
        - "ForbiddenTerm"
        - "NewerAtLowerLevel"
        - "LeadingAndTrailingSpaces"
        - "LeadingSpaces"
        - "TrailingSpaces"
        - "TargetSourceIdentical"
        - "SourceOrTargetRegexp"
        - "UnmodifiedFuzzyTranslation"
        - "UnmodifiedFuzzyTranslationTM"
        - "UnmodifiedFuzzyTranslationMTNT"
        - "Moravia"
        - "ExtraNumbersV3"
        - "UnresolvedConversation"
        - "NestedTags"
        - "FuzzyInconsistencyTargetSource"
        - "FuzzyInconsistencySourceTarget"
        - "CustomQA"
        - "MissingNonTranslatableAnnotation"
  WebEditorLinkDtoV2:
    type: "object"
    properties:
      url:
        type: "string"
      warnings:
        type: "array"
        items:
          $ref: "#/definitions/ErrorDetailDtoV2"
  WebHookDtoV2:
    type: "object"
    required:
    - "url"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
      url:
        type: "string"
      events:
        type: "array"
        items:
          type: "string"
          enum:
          - "JOB_STATUS_CHANGED"
          - "JOB_CREATED"
          - "JOB_DELETED"
          - "JOB_UNSHARED"
          - "JOB_ASSIGNED"
          - "JOB_DUE_DATE_CHANGED"
          - "JOB_UPDATED"
          - "JOB_TARGET_UPDATED"
          - "JOB_EXPORTED"
          - "JOB_UNEXPORTED"
          - "JOB_AUTO_LQA_FINISHED"
          - "JOB_METADATA_UPDATED"
          - "JOB_CUSTOM_FIELDS_UPDATED"
          - "PROJECT_CREATED"
          - "PROJECT_DELETED"
          - "PROJECT_UNSHARED"
          - "PROJECT_STATUS_CHANGED"
          - "PROJECT_DUE_DATE_CHANGED"
          - "SHARED_PROJECT_ASSIGNED"
          - "PROJECT_METADATA_UPDATED"
          - "PRE_TRANSLATION_FINISHED"
          - "ANALYSIS_CREATED"
          - "CONTINUOUS_JOB_UPDATED"
          - "PROJECT_TEMPLATE_CREATED"
          - "PROJECT_TEMPLATE_UPDATED"
          - "PROJECT_TEMPLATE_DELETED"
          - "RAW_MT_CONVERTER_IMPORT_FINISHED"
          - "RAW_MT_PRE_TRANSLATION_FINISHED"
          - "RAW_MT_QUALITY_ESTIMATION_FINISHED"
          - "TERM_BASE_TERM_CREATED"
          - "TERM_BASE_TERM_UPDATED"
          - "TERM_BASE_TERM_DELETED"
          - "TERM_BASE_CONCEPT_CREATED"
          - "TERM_BASE_CONCEPT_UPDATED"
          - "TERM_BASE_CONCEPT_DELETED"
          - "TERM_BASE_IMPORTED"
      secretToken:
        type: "string"
        minLength: 1
        maxLength: 255
      secretTokenType:
        type: "string"
        enum:
        - "X_MEMSOURCE_TOKEN"
        - "AUTHORIZATION"
      hidden:
        type: "boolean"
        description: "Default: false"
      status:
        type: "string"
        enum:
        - "ENABLED"
        - "DISABLED"
      failedAttempts:
        type: "integer"
        format: "int32"
      created:
        type: "string"
        format: "date-time"
      createdBy:
        $ref: "#/definitions/UserReference"
      lastModified:
        type: "string"
        format: "date-time"
      lastModifiedBy:
        $ref: "#/definitions/UserReference"
  WebhookPreviewDto:
    type: "object"
    properties:
      event:
        type: "string"
        enum:
        - "JOB_STATUS_CHANGED"
        - "JOB_CREATED"
        - "JOB_DELETED"
        - "JOB_UNSHARED"
        - "JOB_ASSIGNED"
        - "JOB_DUE_DATE_CHANGED"
        - "JOB_UPDATED"
        - "JOB_TARGET_UPDATED"
        - "JOB_EXPORTED"
        - "JOB_UNEXPORTED"
        - "JOB_AUTO_LQA_FINISHED"
        - "JOB_METADATA_UPDATED"
        - "JOB_CUSTOM_FIELDS_UPDATED"
        - "PROJECT_CREATED"
        - "PROJECT_DELETED"
        - "PROJECT_UNSHARED"
        - "PROJECT_STATUS_CHANGED"
        - "PROJECT_DUE_DATE_CHANGED"
        - "SHARED_PROJECT_ASSIGNED"
        - "PROJECT_METADATA_UPDATED"
        - "PRE_TRANSLATION_FINISHED"
        - "ANALYSIS_CREATED"
        - "CONTINUOUS_JOB_UPDATED"
        - "PROJECT_TEMPLATE_CREATED"
        - "PROJECT_TEMPLATE_UPDATED"
        - "PROJECT_TEMPLATE_DELETED"
        - "RAW_MT_CONVERTER_IMPORT_FINISHED"
        - "RAW_MT_PRE_TRANSLATION_FINISHED"
        - "RAW_MT_QUALITY_ESTIMATION_FINISHED"
        - "TERM_BASE_TERM_CREATED"
        - "TERM_BASE_TERM_UPDATED"
        - "TERM_BASE_TERM_DELETED"
        - "TERM_BASE_CONCEPT_CREATED"
        - "TERM_BASE_CONCEPT_UPDATED"
        - "TERM_BASE_CONCEPT_DELETED"
        - "TERM_BASE_IMPORTED"
      preview:
        type: "string"
  WebhookPreviewsDto:
    type: "object"
    properties:
      previews:
        type: "array"
        items:
          $ref: "#/definitions/WebhookPreviewDto"
  WildCardSearchByJobRequestDtoV2:
    type: "object"
    required:
    - "query"
    properties:
      query:
        type: "string"
      workflowLevel:
        type: "integer"
        format: "int32"
        minimum: 1
        maximum: 15
      reverse:
        type: "boolean"
        description: "Default: false"
      count:
        type: "integer"
        format: "int32"
        minimum: 1
        maximum: 50
      offset:
        type: "integer"
        format: "int32"
  WorkflowChangesDto:
    type: "object"
    required:
    - "jobs"
    properties:
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/UidReference"
        maxItems: 100
        minItems: 1
  WorkflowStepDto:
    type: "object"
    properties:
      id:
        type: "string"
      uid:
        type: "string"
      name:
        type: "string"
      abbr:
        type: "string"
      order:
        type: "integer"
        format: "int32"
      lqaEnabled:
        type: "boolean"
  WorkflowStepReference:
    type: "object"
    properties:
      name:
        type: "string"
      id:
        type: "string"
      uid:
        type: "string"
      order:
        type: "integer"
        format: "int32"
      lqaEnabled:
        type: "boolean"
  WorkflowStepReferenceV2:
    type: "object"
    properties:
      name:
        type: "string"
      uid:
        type: "string"
      id:
        type: "string"
      order:
        type: "integer"
        format: "int32"
      lqaEnabled:
        type: "boolean"
  WorkflowStepSettingsDto:
    type: "object"
    properties:
      workflowStep:
        $ref: "#/definitions/WorkflowStepReference"
      assignedTo:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTemplateWorkflowSettingsAssignedToDto"
      notifyProvider:
        $ref: "#/definitions/ProjectTemplateNotifyProviderDto"
      lqaProfile:
        $ref: "#/definitions/UidReference"
  WorkflowStepSettingsEditV2Dto:
    type: "object"
    properties:
      workflowStep:
        $ref: "#/definitions/IdReference"
      assignedTo:
        type: "array"
        items:
          $ref: "#/definitions/ProjectTemplateWorkflowSettingsAssignedToDto"
      notifyProvider:
        $ref: "#/definitions/NotifyProviderDto"
      lqaProfile:
        $ref: "#/definitions/UidReference"
