> ## 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.

# Create Quality Profile

> Creates a new Quality Profile containing up to 3 AI Checks.

Requires **ADMIN** or **OWNER** IDM role.



## OpenAPI

````yaml /openapi/phrase-quality-evaluator.json post /v1/qualityProfiles
openapi: 3.1.2
info:
  title: Quality Evaluator API
  description: >
    The Quality Evaluator API enables you to evaluate the quality of translated
    segments using AI-powered checks.

    Create custom AI Checks with specific quality requirements, organize them
    into Quality Profiles, and run

    evaluations to identify translation issues automatically.
  version: 1.0.0
  termsOfService: https://phrase.com/terms/
  contact:
    name: Phrase Support
    url: https://support.phrase.com
servers:
  - url: https://eu.phrase.com/quality-evaluator
    description: Production EU
  - url: https://us.phrase.com/quality-evaluator
    description: Production US
security:
  - bearerAuth: []
tags:
  - name: AI Checks
    description: Create and manage AI Checks with custom quality requirements.
  - name: Analytics
    description: Retrieve aggregated evaluation analytics.
  - name: Evaluation
    description: Evaluate translation quality using AI Checks.
  - name: Quality Profiles
    description: Organize AI Checks into reusable Quality Profiles.
paths:
  /v1/qualityProfiles:
    post:
      tags:
        - Quality Profiles
      summary: Create Quality Profile
      description: |-
        Creates a new Quality Profile containing up to 3 AI Checks.

        Requires **ADMIN** or **OWNER** IDM role.
      operationId: createQualityProfile
      parameters:
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
            example: application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QualityProfileCreateRequest'
            example:
              name: Marketing Content Profile
              aiCheckUids:
                - 6804a3f2e1b2c3d4e5f60789
                - 6804a3f2e1b2c3d4e5f6078a
      responses:
        '201':
          description: Quality Profile created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualityProfileResponse'
              example:
                uid: 6804b1c2d3e4f5a6b7c80123
                name: Marketing Content Profile
                aiChecks:
                  - uid: 6804a3f2e1b2c3d4e5f60789
                    name: No Yoda Speech
                    qualityRequirements: >-
                      The translation must not use Yoda-style inverted sentence
                      structure.
                  - uid: 6804a3f2e1b2c3d4e5f6078a
                    name: Formal Register
                    qualityRequirements: >-
                      The translation must use formal language and avoid
                      colloquialisms.
                createdDate: '2024-01-15T10:30:00Z'
                lastModifiedDate: '2024-01-15T10:30:00Z'
                createdByUid: 6804c9d0e1f2a3b4c5d60456
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    QualityProfileCreateRequest:
      type: object
      properties:
        name:
          type: string
          description: Display name for the Quality Profile.
          example: Marketing Content Profile
        aiCheckUids:
          type: array
          description: UIDs of AI Checks to include in this profile. Maximum 3 items.
          maxItems: 3
          items:
            type: string
            example: 6804a3f2e1b2c3d4e5f60789
      required:
        - name
        - aiCheckUids
    QualityProfileResponse:
      type: object
      properties:
        uid:
          type: string
          example: 6804b1c2d3e4f5a6b7c80123
        name:
          type: string
          example: Marketing Content Profile
        aiChecks:
          type: array
          items:
            $ref: '#/components/schemas/AiCheckResponse'
        createdDate:
          type: string
          format: date-time
          example: '2024-01-15T10:30:00Z'
        lastModifiedDate:
          type: string
          format: date-time
          example: '2024-03-20T14:45:00Z'
        createdByUid:
          type: string
          example: 6804c9d0e1f2a3b4c5d60456
      required:
        - uid
        - name
        - createdDate
        - createdByUid
    AiCheckResponse:
      type: object
      properties:
        uid:
          type: string
          example: 6804a3f2e1b2c3d4e5f60789
        name:
          type: string
          example: No Yoda Speech
        qualityRequirements:
          type: string
          maxLength: 2000
          example: The translation must not use Yoda-style inverted sentence structure.
      required:
        - uid
        - name
        - qualityRequirements
    ProblemDetail:
      type: object
      description: Error response following RFC 9457.
      properties:
        type:
          type: string
          description: A URI reference identifying the problem type.
          example: urn:problem-type:unauthorized
        title:
          type: string
          description: A short, human-readable summary of the problem.
          example: Unauthorized
        status:
          type: integer
          description: The HTTP status code.
          example: 401
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence.
          example: Valid credentials were not supplied
        instance:
          type: string
          description: A URI reference identifying the specific occurrence.
  responses:
    UnauthorizedResponse:
      description: Authentication failed or credentials not provided.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
          example:
            type: urn:problem-type:unauthorized
            title: Unauthorized
            status: 401
            detail: Valid credentials were not supplied
    ForbiddenResponse:
      description: >-
        Insufficient permissions. This operation requires the ADMIN or OWNER IDM
        role.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
          example:
            type: urn:problem-type:forbidden
            title: Forbidden
            status: 403
            detail: Insufficient permissions to perform this action
    ErrorResponse:
      description: An error occurred.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Use a Bearer token obtained from Phrase Platform authentication. See the
        Authentication guide for details on how to obtain a token.

````