Skip to content

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

Terminal window
# 1. Infer a draft config from a sample file
curl -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 saving
curl -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 raw JSON.
  • 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.