GET /api/v1/model-governance
Retrieve governance status for a model including approval history and drift check results.Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
modelId | string | Yes | Algorithm model ID |
Response
POST /api/v1/model-governance
Perform governance actions. Editor or Admin (review requires Admin).Actions
request_approval — Request approval to promote a model version
review — Approve or reject a model promotion (Admin only)
drift_check — Run a drift detection check
Compares baseline vs. current score distributions using three methods:
- PSI (Population Stability Index): measures shift between score distributions (< 0.1 OK, 0.1–0.25 monitor, > 0.25 retrain)
- KS (Kolmogorov-Smirnov): max CDF difference between distributions
- AUC decay: drop in AUC from baseline
| Field | Type | Description |
|---|---|---|
psi.score | number | Population Stability Index (0 = identical distributions) |
psi.drifted | boolean | true if PSI exceeds threshold (default 0.25) |
ks.score | number | Kolmogorov-Smirnov statistic (0–1) |
ks.drifted | boolean | true if KS exceeds threshold (default 0.1) |
aucDecay.score | number | baselineAuc - currentAuc, floored at zero. |
aucDecay.drifted | boolean | true if AUC dropped more than threshold (default 0.05) |
anyDrift | boolean | true if any of the three checks flagged drift |
parity_check — Check fairness across customer segments
Compares mean scores across segments and flags those deviating more than maxDeviation from the overall mean.
| Field | Type | Description |
|---|---|---|
results | array | Per-segment statistics (sampleSize, meanScore, stdDev) |
disparityDetected | boolean | true if any segment deviates > maxDeviation from overall mean |
flaggedSegments | string[] | Segments exceeding the deviation threshold |