Enneo

Quality Management

Update a quality scorecard

PATCH /quality/scorecard/{id}

PATCH /quality/scorecard/{id}

Update an existing quality scorecard. Requires qualityManageScorecards permission.

Path parameters

idintegerpathrequired

Scorecard ID

Request body

namestringbody

Name of the scorecard

stateenumbody

State of the scorecard Options: draft, active, retired, deleted

categoriesobject[]body

Categories with nested criteria definitions

assignmentobjectbody

Assignment rules (optional). Omitted fields are cleared to empty (no filter).

liveCoachobjectbody

Live Quality Coach configuration. Only updated when the field is present in the payload.

createNewRevisionbooleanbodyDefault: true

If true (default) and the scorecard is active, creates a new revision instead of overwriting.

Request Example

{
  "name": "string",
  "state": "draft",
  "categories": [
    null
  ],
  "assignment": {
    "ticketTags": [
      1
    ],
    "teams": [
      1
    ],
    "channels": [
      "string"
    ],
    "responseContexts": [
      "afterCustomerMessage"
    ],
    "excludeTicketTags": [
      1
    ],
    "excludeTeams": [
      1
    ],
    "excludeChannels": [
      "string"
    ]
  },
  "liveCoach": {
    "enabled": true,
    "threshold": 1
  },
  "createNewRevision": true
}

Responses

200 — Scorecard updated successfully

Response Example

{
  "scorecard": {
    "id": 1,
    "baseId": 1,
    "revision": 1,
    "name": "Junior agent standard review",
    "state": "active",
    "categoryCount": 3,
    "categories": [
      {
        "categoryId": 1,
        "label": "string",
        "order": 1,
        "criteria": [
          {
            "id": 1,
            "label": "string",
            "description": "string",
            "maxPoints": 1,
            "scoringType": "metNotMet",
            "autoGenerateByAi": true,
            "assessmentPrompt": "string",
            "makeOrBreakForCategory": true,
            "makeOrBreakForAssessment": true
          }
        ]
      }
    ],
    "assignment": {
      "ticketTags": [
        1
      ],
      "teams": [
        1
      ],
      "channels": [
        "string"
      ],
      "responseContexts": [
        "afterCustomerMessage"
      ]
    },
    "liveCoach": {
      "enabled": false,
      "threshold": 85
    },
    "createdBy": 1,
    "modifiedBy": 1,
    "createdAt": "2026-01-01T12:00:00Z",
    "modifiedAt": "2026-01-01T12:00:00Z",
    "canEdit": true
  },
  "message": "string"
}

403 — Unauthorized

404 — Scorecard not found

500 — Internal error