> ## Documentation Index
> Fetch the complete documentation index at: https://developers.phrase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Start LQA Assessment

> Starts a Language Quality Assessment (LQA) for a single job part identified by its unique identifier (UID). LQA evaluates translation quality against the profile assigned to the job part's workflow step, scoring errors by category and severity in line with MQM (Multidimensional Quality Metrics) methodology.

Use this endpoint after a job part has been translated and is ready for linguistic review. The returned profile captures the error categories, severity weights, and pass/fail threshold that reviewers will apply when annotating the assessment.

If an assessment is already in progress or finished for the given job part, the existing assessment is discarded and a new one is started. All previously recorded errors are lost; this operation is not safe to retry without accepting data loss.

**Error conditions:**

- **400 Bad Request** — LQA is not configured for the job part's workflow step. Configure LQA for the workflow step in the project settings before starting an assessment.
- **403 Forbidden (Auto LQA enabled)** — The project has Automatic LQA enabled. Disable Auto LQA in the project settings to use manual assessments.
- **403 Forbidden (insufficient permission)** — The caller does not have edit permission on the job part. Request edit access from a project manager or administrator.
- **404 Not Found** — No job part exists for the provided UID. Verify the jobUid is correct and belongs to a project accessible to the caller.



## OpenAPI

````yaml /openapi/phrase-tms-latest.json post /api2/v1/lqa/assessments/{jobUid}
openapi: 3.0.0
info:
  description: |-
    Welcome to Phrase's TMS API documentation. 

     Please visit our [help center](https://support.phrase.com/hc/en-us/sections/5709662083612) for more information about the APIs. 

     If you have any questions, please contact [Support](https://support.phrase.com/hc/requests/new). 

     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:
     > User-Agent: Example mobile app (example@phrase.com) <br/> User-Agent: ACME Inc Java 1.8 Client (http://acmeinc.com/contact)
  version: Latest
  title: Phrase TMS API
servers:
  - url: https://cloud.memsource.com/web
security:
  - ApiToken: []
  - OAuth2: []
tags:
  - name: Additional Workflow Step
  - name: Analysis
  - name: Async Request
  - name: Authentication
  - name: Automations
  - name: Bilingual File
  - name: Business Unit
  - name: Buyer
  - name: Client
  - name: Connector
  - name: Conversations
  - name: Cost Center
  - name: Custom Fields
  - name: Custom File Type
  - name: Domain
  - name: Due Date Scheme
  - name: Email Template
  - name: File
  - name: Glossary
  - name: Import settings
  - name: Job
  - name: Language AI
  - name: Language Assets
  - name: Language Quality Assessment
  - name: Machine Translation
  - name: Machine Translation Settings
  - name: Mapping
  - name: Net Rate Scheme
  - name: Notifications
  - name: Price List
  - name: Project
  - name: Project Template
  - name: Provider
  - name: Quality Assurance
  - name: Quality Profile
  - name: Quote
  - name: Reference File
  - name: SCIM
  - name: Segment
  - name: Segmentation Rules
  - name: Service
  - name: Spell Check
  - name: SubDomain
  - name: Supported Languages
  - name: Term Base
  - name: Translation
  - name: Translation Memory
  - name: User
  - name: Vendor
  - name: Webhook
  - name: Workflow Step
  - name: Workflow changes
  - name: XML Assistant
paths:
  /api2/v1/lqa/assessments/{jobUid}:
    post:
      tags:
        - Language Quality Assessment
      summary: Start LQA Assessment
      description: >-
        Starts a Language Quality Assessment (LQA) for a single job part
        identified by its unique identifier (UID). LQA evaluates translation
        quality against the profile assigned to the job part's workflow step,
        scoring errors by category and severity in line with MQM
        (Multidimensional Quality Metrics) methodology.


        Use this endpoint after a job part has been translated and is ready for
        linguistic review. The returned profile captures the error categories,
        severity weights, and pass/fail threshold that reviewers will apply when
        annotating the assessment.


        If an assessment is already in progress or finished for the given job
        part, the existing assessment is discarded and a new one is started. All
        previously recorded errors are lost; this operation is not safe to retry
        without accepting data loss.


        **Error conditions:**


        - **400 Bad Request** — LQA is not configured for the job part's
        workflow step. Configure LQA for the workflow step in the project
        settings before starting an assessment.

        - **403 Forbidden (Auto LQA enabled)** — The project has Automatic LQA
        enabled. Disable Auto LQA in the project settings to use manual
        assessments.

        - **403 Forbidden (insufficient permission)** — The caller does not have
        edit permission on the job part. Request edit access from a project
        manager or administrator.

        - **404 Not Found** — No job part exists for the provided UID. Verify
        the jobUid is correct and belongs to a project accessible to the caller.
      operationId: startLqaAssessment
      parameters:
        - name: jobUid
          in: path
          description: Unique identifier (UID) of the job part to assess
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentBasicDtoV1'
        '400':
          description: Bad Request
        '401':
          description: Not authorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '405':
          description: Method not allowed
        '408':
          description: Timeout
        '410':
          description: Gone
        '415':
          description: Unsupported media type
        '429':
          description: Too many requests
        '500':
          description: Internal server error
        '501':
          description: Not implemented
components:
  schemas:
    AssessmentBasicDtoV1:
      type: object
      properties:
        lqaProfile:
          $ref: '#/components/schemas/LqaProfileAssessmentDtoV1'
        startedDate:
          type: string
          format: date-time
          description: When assessment started or empty if it was not yet
      description: Basic info about LQA assessment
    LqaProfileAssessmentDtoV1:
      type: object
      required:
        - dateCreated
        - errorCategories
        - isDefault
        - name
        - organization
        - passFailThreshold
        - penaltyPoints
        - uid
      properties:
        dateCreated:
          type: string
          format: date-time
          example: '2024-03-15T09:00:00Z'
          description: Date and time when the profile was created (ISO 8601 date-time)
        errorCategories:
          $ref: '#/components/schemas/ErrorCategoriesDto'
        isDefault:
          type: boolean
          description: Whether this profile is set as the default for the organization
        name:
          type: string
          description: Name of the profile
        organization:
          $ref: '#/components/schemas/UidReference'
        passFailThreshold:
          $ref: '#/components/schemas/PassFailThresholdDto'
        penaltyPoints:
          $ref: '#/components/schemas/PenaltyPointsDto'
        uid:
          type: string
          example: LqP8kMckeDcg
          description: Unique identifier (UID) of the profile
      description: >-
        LQA (Language Quality Assessment) profile snapshot applied to an
        assessment
    ErrorCategoriesDto:
      type: object
      properties:
        accuracy:
          $ref: '#/components/schemas/AccuracyWeightsDto'
        design:
          $ref: '#/components/schemas/DesignWeightsDto'
        fluency:
          $ref: '#/components/schemas/FluencyWeightsDto'
        localeConvention:
          $ref: '#/components/schemas/LocaleConventionWeightsDto'
        other:
          $ref: '#/components/schemas/OtherWeightsDto'
        style:
          $ref: '#/components/schemas/StyleWeightsDto'
        terminology:
          $ref: '#/components/schemas/TerminologyWeightsDto'
        verity:
          $ref: '#/components/schemas/VerityWeightsDto'
      description: >-
        Error categories and their importance weight. If not provided, defaults
        will be created.
    UidReference:
      type: object
      required:
        - uid
      properties:
        uid:
          type: string
          example: 3HYnHHLkTPJfMxBCDbPXFe
          description: Unique identifier of the referenced object
      description: Reference to an object by its unique identifier
    PassFailThresholdDto:
      type: object
      required:
        - minScorePercentage
      properties:
        minScorePercentage:
          type: number
          format: double
          example: 99
          description: >-
            Minimum allowed LQA score in percentage in line with MQM scoring (1
            - penalties/word-count)
    PenaltyPointsDto:
      type: object
      properties:
        critical:
          $ref: '#/components/schemas/SeverityDto'
        major:
          $ref: '#/components/schemas/SeverityDto'
        minor:
          $ref: '#/components/schemas/SeverityDto'
        neutral:
          $ref: '#/components/schemas/SeverityDto'
      description: >-
        Penalty points for each severity level. By default neutral is 0, minor
        is 1, major is 5, critical is 10.
    AccuracyWeightsDto:
      type: object
      properties:
        accuracy:
          $ref: '#/components/schemas/ToggleableWeightDto'
        addition:
          $ref: '#/components/schemas/ToggleableWeightDto'
        improperTmMatch:
          $ref: '#/components/schemas/ToggleableWeightDto'
        mistranslation:
          $ref: '#/components/schemas/ToggleableWeightDto'
        omission:
          $ref: '#/components/schemas/ToggleableWeightDto'
        overTranslation:
          $ref: '#/components/schemas/ToggleableWeightDto'
        underTranslation:
          $ref: '#/components/schemas/ToggleableWeightDto'
        untranslated:
          $ref: '#/components/schemas/ToggleableWeightDto'
    DesignWeightsDto:
      type: object
      properties:
        design:
          $ref: '#/components/schemas/ToggleableWeightDto'
        length:
          $ref: '#/components/schemas/ToggleableWeightDto'
        localFormatting:
          $ref: '#/components/schemas/ToggleableWeightDto'
        markup:
          $ref: '#/components/schemas/ToggleableWeightDto'
        missingText:
          $ref: '#/components/schemas/ToggleableWeightDto'
        truncation:
          $ref: '#/components/schemas/ToggleableWeightDto'
    FluencyWeightsDto:
      type: object
      properties:
        characterEncoding:
          $ref: '#/components/schemas/ToggleableWeightDto'
        crossReference:
          $ref: '#/components/schemas/ToggleableWeightDto'
        fluency:
          $ref: '#/components/schemas/ToggleableWeightDto'
        grammar:
          $ref: '#/components/schemas/ToggleableWeightDto'
        grammaticalRegister:
          $ref: '#/components/schemas/ToggleableWeightDto'
        inconsistency:
          $ref: '#/components/schemas/ToggleableWeightDto'
        punctuation:
          $ref: '#/components/schemas/ToggleableWeightDto'
        spelling:
          $ref: '#/components/schemas/ToggleableWeightDto'
    LocaleConventionWeightsDto:
      type: object
      properties:
        addressFormat:
          $ref: '#/components/schemas/ToggleableWeightDto'
        currencyFormat:
          $ref: '#/components/schemas/ToggleableWeightDto'
        dateFormat:
          $ref: '#/components/schemas/ToggleableWeightDto'
        localeConvention:
          $ref: '#/components/schemas/ToggleableWeightDto'
        measurementFormat:
          $ref: '#/components/schemas/ToggleableWeightDto'
        shortcutKey:
          $ref: '#/components/schemas/ToggleableWeightDto'
        telephoneFormat:
          $ref: '#/components/schemas/ToggleableWeightDto'
    OtherWeightsDto:
      type: object
      properties:
        other:
          $ref: '#/components/schemas/ToggleableWeightDto'
    StyleWeightsDto:
      type: object
      properties:
        awkward:
          $ref: '#/components/schemas/ToggleableWeightDto'
        companyStyle:
          $ref: '#/components/schemas/ToggleableWeightDto'
        inconsistentStyle:
          $ref: '#/components/schemas/ToggleableWeightDto'
        style:
          $ref: '#/components/schemas/ToggleableWeightDto'
        thirdPartyStyle:
          $ref: '#/components/schemas/ToggleableWeightDto'
        unidiomatic:
          $ref: '#/components/schemas/ToggleableWeightDto'
    TerminologyWeightsDto:
      type: object
      properties:
        inconsistentUseOfTerminology:
          $ref: '#/components/schemas/ToggleableWeightDto'
        inconsistentWithTb:
          $ref: '#/components/schemas/ToggleableWeightDto'
        terminology:
          $ref: '#/components/schemas/ToggleableWeightDto'
    VerityWeightsDto:
      type: object
      properties:
        cultureSpecificReference:
          $ref: '#/components/schemas/ToggleableWeightDto'
        verity:
          $ref: '#/components/schemas/ToggleableWeightDto'
    SeverityDto:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: Code of the severity category
        value:
          type: number
          format: double
          description: Allowed values 0.0-100,000.0
    ToggleableWeightDto:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: Code of the error category
        enabled:
          type: boolean
          description: If this error category is enabled, default false
        weight:
          type: number
          format: double
          example: 1
          description: Weight of this error category (0.1 - 99.9)
  securitySchemes:
    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
      flows:
        authorizationCode:
          authorizationUrl: https://cloud.memsource.com/web/oauth/authorize
          tokenUrl: https://cloud.memsource.com/web/oauth/token
          scopes: {}

````