curl --request PATCH \
--url https://demo.enneo.ai/api/mind/quality/scorecard/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Voice - Tier 2 escalation (v2)",
"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": {
"teams": [
12
],
"channels": [
"phone"
]
},
"createNewRevision": false
}
'Update an existing quality scorecard. Requires qualityManageScorecards permission.
curl --request PATCH \
--url https://demo.enneo.ai/api/mind/quality/scorecard/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Voice - Tier 2 escalation (v2)",
"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": {
"teams": [
12
],
"channels": [
"phone"
]
},
"createNewRevision": false
}
'JWT-based authentication
Scorecard ID
Name of the scorecard
State of the scorecard
draft, active, retired, deleted Categories with nested criteria definitions
Assignment rules (optional)
Show child attributes
If true (default) and the scorecard is active, creates a new revision instead of overwriting.