Authoring carrier configs
A carrier config maps a statement’s columns onto CommissionSight’s unified format. Adding a carrier requires only a new config — no code changes. You don’t hand-write it: upload a sample file and CommissionSight infers a draft (header row, column mapping, value transforms, natural key), previews the mapped rows, and you review and save. The CommissionSight team can also do this with you.
The flow
# 1. Infer a draft config from a sample filecurl -X POST "$CS_BASE/carriers/$CARRIER_ID/configs/infer" \ -H "Authorization: Bearer $CS_TOKEN" -F "file=@sample.csv"# → { config, confidence, headerRow, mapped, unmapped, notes, preview }
# 2. Validate the (adjusted) config against the sample without savingcurl -X POST "$CS_BASE/carriers/$CARRIER_ID/configs/test" \ -H "Authorization: Bearer $CS_TOKEN" -F "config=$(cat acme.json)" -F "file=@sample.csv"# → { totalRows, mapped, failed, preview, warnings }
# 3. Save (versioned; account-scoped overrides the global default)curl -X POST "$CS_BASE/carriers/$CARRIER_ID/configs" \ -H "Authorization: Bearer $CS_TOKEN" -H "content-type: application/json" -d @acme.json- CSV, XLSX, and legacy XLS are all accepted — the real format is detected from the file’s bytes.
- Unrecognized columns are never lost — they’re preserved verbatim in each row’s
rawJSON. - Configs are versioned, and may be global (the carrier default) or account-scoped (your override). Ingest always uses the highest-version active config, preferring your override.