Chanl

Update a Scorecard

Update an existing scorecard's properties. Categories and criteria are managed through separate endpoints.

Request
curl -X PATCH "https://api.chanl.ai/api/v1/scorecards/scorecard_abc123" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Quality Scorecard",
    "passingThreshold": 75,
    "status": "active"
  }'
const response = await fetch(`https://api.chanl.ai/api/v1/scorecards/${scorecardId}`, {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer ' + accessToken,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Updated Quality Scorecard',
    passingThreshold: 75,
    status: 'active'
  })
});

const { data } = await response.json();
console.log('Updated scorecard:', data.name);
import requests

response = requests.patch(
    f'https://api.chanl.ai/api/v1/scorecards/{scorecard_id}',
    headers={'Authorization': f'Bearer {access_token}'},
    json={
        'name': 'Updated Quality Scorecard',
        'passingThreshold': 75,
        'status': 'active'
    }
)

scorecard = response.json()['data']
Response
{
  "success": true,
  "data": {
    "id": "scorecard_abc123",
    "name": "Updated Quality Scorecard",
    "description": "Evaluates agent performance and call quality",
    "status": "active",
    "version": 2,
    "passingThreshold": 75,
    "createdAt": "2026-01-01T00:00:00Z",
    "updatedAt": "2026-01-06T12:00:00Z"
  }
}
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Scorecard not found"
  }
}

Path Parameters

idstringrequired

The unique identifier of the scorecard to update.

Request Body

namestring

Updated name for the scorecard (must be unique within workspace).

descriptionstring

Updated description of what the scorecard evaluates.

statusstring

Updated status: active, inactive, draft

passingThresholdnumber

Updated minimum passing score (0-100).

iconstring

Updated icon identifier for UI display.

colorstring

Updated color code (hex format).

Version History

Each update increments the scorecard version. This allows tracking changes over time and comparing evaluation results across versions.

{
  "version": 1,  // Initial creation
  "version": 2,  // After first update
  "version": 3   // After second update
}

Managing Categories and Criteria

To update categories or criteria, use the dedicated endpoints:

Add a Category

POST /api/v1/scorecards/{scorecardId}/categories
{
  "name": "New Category",
  "weight": 25
}

Update a Category

PATCH /api/v1/scorecards/{scorecardId}/categories/{categoryId}
{
  "name": "Updated Category Name",
  "weight": 30
}

Add Criteria

POST /api/v1/scorecards/{scorecardId}/criteria
{
  "key": "new_criterion",
  "name": "New Criterion",
  "categoryId": "{categoryId}",
  "type": "prompt",
  "settings": {
    "description": "Evaluation criteria description"
  }
}

Category weights must sum to 100. When adding or updating categories, ensure the total weight equals 100.

On this page