List programs
/api/compliance-programsArray of program objects. Each program includes:
id— Human-readable ID (e.g.,CP-2026-001)regulationType—bsa_amlorthird_party_oversightname— Program display namedomains— Array of domain objects withid,category,label,score
Get program
/api/compliance-programs/{id}Program ID (e.g.,
CP-2026-001).Program object with all its domains.
Get domain details
/api/compliance-programs/{id}/domains/{domainId}Program ID.
Domain ID.
Parent program.
Domain with
id, category, label, score.Array of scoring criteria for this domain. Each criterion includes:
id— Criterion IDtext— What the regulation requiresregulatorySourceId— FK to knowledge baseevidenceStatus—missing,stale,partial, orsufficientlinkedEvidence— JSONB array of linked evidence entriesreviewerNotes— Free-text notes
Update scoring criterion
/api/compliance-programs/{id}/domains/{domainId}/criteria/{criteriaId}New evidence status. One of:
missing, stale, partial, sufficient.Updated reviewer notes.
Accept an auto-matched evidence suggestion.
Dismiss an auto-matched evidence suggestion.
Updated criterion.
Updated domain with recomputed score.
Maximum 50 evidence items per criterion.
Trigger auto-match
/api/compliance-programs/{id}/auto-matchSingle examination ID to match evidence from. Backward compatible — use
examinationIds for batch matching.Array of examination IDs to match evidence from. Use this for multi-exam batch matching.
matching — the background job has been queued.The program being matched against.