Skip to main content
PUT
/
api
/
v1
/
qa-agents
/
{uuid}
Update a QA agent (same as PATCH)
curl --request PUT \
  --url https://{subdomain}.mihu.ai/api/v1/qa-agents/{uuid} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "name": "Support QA Agent",
  "description": "Evaluates support conversations for empathy and compliance",
  "evaluates_agent_type": "human",
  "is_active": true,
  "is_default": false,
  "evaluation_model": "advanced",
  "strictness_level": 70,
  "confidence_threshold": 85,
  "auto_fail_threshold": 3,
  "language": "English",
  "custom_instructions": "Focus on product knowledge when evaluating technical support calls.",
  "automatic_scoring": true,
  "sentiment_analysis": true,
  "compliance_checking": true,
  "skills": [
    {
      "name": "Empathy",
      "weight": 20,
      "uuid": "9c2f5a44-1b7e-4f4a-9a6c-3d2f8e7b1c0a",
      "description": "Understanding and acknowledging customer concerns",
      "max_score": 10,
      "ai_evaluation_prompt": "Evaluate whether the agent acknowledged the customer's feelings and avoided dismissive language.",
      "is_custom": false,
      "positive_items": [
        {
          "name": "Used the customer's name",
          "points": 5
        }
      ],
      "penalty_items": [
        {
          "name": "Interrupted the customer",
          "penalty_points": -5,
          "is_auto_fail": false
        }
      ]
    }
  ]
}
EOF
{
  "success": true,
  "message": "QA agent updated successfully",
  "data": {
    "uuid": "7e1c9b3a-5d2f-4c8e-b6a1-0f9d8c7b6a5e",
    "name": "Support QA Agent",
    "description": "Evaluates support conversations for empathy and compliance",
    "evaluates_agent_type": "human",
    "is_active": true,
    "is_default": true,
    "evaluation_model": "advanced",
    "strictness_level": 70,
    "confidence_threshold": 85,
    "auto_fail_threshold": 3,
    "language": "English",
    "custom_instructions": "Focus on product knowledge when evaluating technical support calls.",
    "automatic_scoring": true,
    "sentiment_analysis": true,
    "compliance_checking": true,
    "skills": [
      {
        "uuid": "9c2f5a44-1b7e-4f4a-9a6c-3d2f8e7b1c0a",
        "name": "Empathy",
        "description": "Understanding and acknowledging customer concerns",
        "weight": 20,
        "max_score": 10,
        "ai_evaluation_prompt": "Evaluate whether the agent acknowledged the customer's feelings.",
        "positive_items": [
          {
            "name": "Used the customer's name",
            "points": 5
          }
        ],
        "penalty_items": [
          {
            "name": "Interrupted the customer",
            "penalty_points": -5,
            "is_auto_fail": false
          }
        ],
        "order": 2,
        "is_custom": false
      }
    ],
    "total_weight": 100,
    "weights_balanced": true,
    "created_at": "2026-06-04T10:15:30+00:00",
    "updated_at": "2026-06-04T10:15:30+00:00"
  }
}

Authorizations

Authorization
string
header
required

Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"

Path Parameters

uuid
string<uuid>
required

Body

application/json

Create/update payload. On update only the fields you send are changed.

name
string
Maximum string length: 255
Example:

"Support QA Agent"

description
string | null
Example:

"Evaluates support conversations for empathy and compliance"

evaluates_agent_type
enum<string>
default:both

Who this QA agent evaluates: human agents, AI agents, or both.

Available options:
human,
ai,
both
Example:

"human"

is_active
boolean
default:true
Example:

true

is_default
boolean
default:false

Send true to make this the default evaluator. To move the default away from an agent, set another one as default.

Example:

false

evaluation_model
string
default:advanced
Maximum string length: 50
Example:

"advanced"

strictness_level
integer
default:70

How strictly conversations are scored. Higher = harsher.

Required range: 0 <= x <= 100
Example:

70

confidence_threshold
integer
default:85

Minimum AI confidence (%) for a score to be applied.

Required range: 0 <= x <= 100
Example:

85

auto_fail_threshold
integer
default:3

Number of critical violations after which an evaluation fails automatically.

Required range: 0 <= x <= 10
Example:

3

language
string
default:English

Language for evaluation reports and feedback.

Maximum string length: 50
Example:

"English"

custom_instructions
string | null

Extra guidance applied to every evaluation.

Example:

"Focus on product knowledge when evaluating technical support calls."

automatic_scoring
boolean
default:true
Example:

true

sentiment_analysis
boolean
default:true
Example:

true

compliance_checking
boolean
default:true
Example:

true

skills
object[]

The full scorecard. Sending it replaces the existing skills; weights must total 100%. Leave it out on create to start with the standard 5-skill scorecard.

Minimum array length: 1

Response

QA agent updated successfully

success
boolean
Example:

true

message
string
Example:

"QA agent updated successfully"

data
object

A QA agent with its full scorecard.