Audit Criteria
AuditCriteria v1.0-alpha3
Schema Type: audit-criteriaVersion: v1.0-alpha3JSON Schema URL: https://schemas.platform.ontopix.ai/audit-criteria/v1.0-alpha3.json
Overview
AuditCriteria defines a policy used to evaluate customer-interaction objects. A policy contains a list of criteria, and each criterion can contain multiple indicators. In alpha3, indicator scoring is based on a polarity scale from -5 to +5.
Key concepts
Polarity-based scoring (alpha3)
polarityindicates direction and strength of impact:-5= strongest negative impact0= neutral+5= strongest positive impact
weightadjusts the indicator contribution (0..1).
Note: beta1 replaces polarity with explicit score values (0.0..1.0). If you are starting a new integration, prefer
v1.0-beta1.
Schema structure
Root fields
| Field | Type | Required | Description |
|---|---|---|---|
schema_type | const "audit-criteria" | ✅ | |
schema_version | string | ✅ | Pattern: ^v\d+\.\d+(-(alpha|beta|rc)\d+)?$ |
id | string | ✅ | Policy identifier |
name | string | ✅ | Policy name |
description | string|null | Policy description | |
source_types | arraystring|null | Source type identifiers (e.g. audio, chat, email, whatsapp) | |
criteria | arrayCriterion | ✅ | Criteria list (min 1) |
groups | arrayCriterionGroup|null | Optional grouping for reporting | |
metadata | object|null | Free-form string map |
Criterion
| Field | Type | Required | Description |
|---|---|---|---|
id | string | ✅ | Criterion id |
name | string | ✅ | Criterion name |
description | string|null | Criterion description | |
weight | number|null | Relative importance (>= 0) | |
enabled | boolean | Default: true | |
indicators | arrayIndicator|null | Optional list of indicators |
Indicator types
All indicators share IndicatorBase:
| Field | Type | Required | Description |
|---|---|---|---|
id | string | ✅ | Pattern: ^[A-Z0-9]+-I[0-9]+$ |
description | string | ✅ | Min length 1 |
polarity | integer | ✅ | Range: -5..5 |
weight | number|null | Range: 0..1 | |
enabled | boolean | Default: true | |
not_applicable | boolean|null | Default: false |
Indicator variants:
- Boolean indicator:
type = "boolean" - Metric indicator:
type = "metric", plus:unit(string)value_type(absolute | range | percentage | duration)- optional
min,max - optional
polarity_config.ranges[](range-specific polarity)
- Enum indicator:
type = "enum", plus:options[]with{ value, label, description?, polarity }
Groups
groups[] is optional and contains:
id(pattern:^[a-z0-9_-]+$)namecriteria_ids[](min 1)- optional
description,metadata
Example
{
"schema_type": "audit-criteria",
"schema_version": "v1.0-alpha3",
"id": "policy-customer-service-v2",
"name": "Customer Service Quality Policy",
"source_types": ["audio", "chat"],
"criteria": [
{
"id": "C1",
"name": "Professional Introduction",
"weight": 0.8,
"enabled": true,
"indicators": [
{
"id": "C1-I1",
"type": "boolean",
"description": "Agent stated their name",
"polarity": 3,
"enabled": true
}
]
}
],
"groups": [
{
"id": "communication-quality",
"name": "Communication Quality",
"criteria_ids": ["C1"]
}
]
}
Migration notes
alpha2 → alpha3 (high level)
- alpha3 introduces polarity-based scoring on indicators (
polarity: -5..+5) and preserves indicator definitions as part of the policy structure.
alpha3 → beta1 (recommended)
- Replace polarity with explicit scoring:
- Boolean:
score_if_true/score_if_false - Metric:
ranges[].score - Enum:
options[].score
- Boolean: