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

# Create a new quality scorecard

> Creates a new quality scorecard. Requires qualityManageScorecards permission.



## OpenAPI

````yaml https://dev.enneo.dev/api/mind/docs/open-api post /quality/scorecard
openapi: 3.0.0
info:
  version: '1'
  title: enneo.MIND API
  description: This describes the API of enneo Mind, the main ticketing backend
  contact:
    name: enneo GmbH
    email: richard@enneo.ai
  license:
    name: Proprietary software
    url: https://enneo.ai
servers:
  - url: https://demo.enneo.ai/api/mind
    description: Production server, demo client
  - url: https://main.enneo.dev/api/mind
    description: Development main branch
  - url: http://localhost:8005/api/mind
    description: Local development server
security:
  - bearerAuth:
      - api
  - cookieAuth:
      - api
paths:
  /quality/scorecard:
    post:
      tags:
        - Quality Management
      summary: Create a new quality scorecard
      description: >-
        Creates a new quality scorecard. Requires qualityManageScorecards
        permission.
      operationId: createQualityScorecard
      requestBody:
        required: true
        description: Provide the complete scorecard payload as JSON.
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - categories
              properties:
                name:
                  type: string
                  description: Name of the scorecard
                  example: Junior agent standard review
                state:
                  type: string
                  enum:
                    - draft
                    - active
                  default: active
                  description: State of the new scorecard (defaults to active if omitted)
                categories:
                  type: array
                  description: Categories with nested criteria definitions
                  items:
                    type: object
                    additionalProperties: true
                  example:
                    - categoryId: 1
                      label: Opening
                      order: 1
                      criteria:
                        - id: 10
                          label: Greeting
                          description: Did the agent greet the customer properly?
                          maxPoints: 5
                          scoringType: numericScale
                          autoGenerateByAi: false
                          assessmentPrompt: Evaluate the opening.
                          makeOrBreakForCategory: false
                          makeOrBreakForAssessment: false
                assignment:
                  type: object
                  description: >-
                    Assignment rules (optional). Omitted fields default to empty
                    (no filter).
                  properties:
                    ticketTags:
                      type: array
                      items:
                        type: integer
                    teams:
                      type: array
                      items:
                        type: integer
                    channels:
                      type: array
                      items:
                        type: string
                    responseContexts:
                      type: array
                      description: >
                        Work-session contexts to match. Empty = no filter.
                        Defaults to ['afterCustomerMessage'] for new scorecards.
                      items:
                        type: string
                        enum:
                          - afterCustomerMessage
                          - withoutCustomerMessage
                  example:
                    ticketTags:
                      - 101
                      - 102
                    teams:
                      - 5
                      - 7
                    channels:
                      - email
                    responseContexts:
                      - afterCustomerMessage
                liveCoach:
                  type: object
                  description: >-
                    Live Quality Coach configuration (optional, defaults to
                    disabled)
                  properties:
                    enabled:
                      type: boolean
                      default: false
                    threshold:
                      type: integer
                      minimum: 0
                      maximum: 100
                      default: 85
                  example:
                    enabled: true
                    threshold: 80
            example:
              name: Voice - Tier 2 escalation
              state: active
              categories:
                - categoryId: 1
                  label: Greeting
                  order: 1
                  criteria:
                    - id: 100
                      label: Tone
                      description: Agent greets the customer within 10 seconds
                      maxPoints: 5
                      scoringType: numericScale
                      autoGenerateByAi: false
                      assessmentPrompt: Score how friendly the greeting was.
                      makeOrBreakForCategory: false
                      makeOrBreakForAssessment: true
              assignment:
                ticketTags:
                  - 88
                teams:
                  - 12
                  - 14
                channels:
                  - phone
              liveCoach:
                enabled: false
                threshold: 85
      responses:
        '200':
          description: Scorecard created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: ID of the created scorecard
                  baseId:
                    type: integer
                    description: >-
                      Base ID of the created scorecard (used for future
                      revisions)
              examples:
                default:
                  summary: Newly created scorecard identifiers
                  value:
                    id: 58
                    baseId: 58
        '400':
          description: Bad request (e.g., missing required fields)
        '403':
          description: Unauthorized (missing qualityManageScorecards permission)
        '500':
          description: Internal error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-based authentication
      x-scopes:
        api: Full access to the API
    cookieAuth:
      type: apiKey
      in: cookie
      name: connect.sid
      description: Cookie-based authentication
      x-scopes:
        api: Full access to the API

````