Carriers
Policy-aware Risk Score
Compute a carrier risk score against caller-supplied policy thresholds
POST
Computes a fresh risk score for a carrier against thresholds you supply. The default
GET /v1/carriers/{dot} response uses federal-minimum thresholds (BIPD ≥ $750k, no cargo minimum); this endpoint lets brokers and shippers score against stricter internal policies without DotLookup having to know who you are or what your policy is.
This endpoint requires an API key and is stateless — DotLookup never persists your policy. Each call is pure compute over
(carrier data) × (policy).Use
GET /v1/carriers/{dot} for the default-policy score (cached and free of auth). Use this endpoint when your underwriting policy differs from the federal defaults.string
required
The carrier’s USDOT number
integer
BIPD coverage floor in dollars. Carriers with active BIPD below this threshold get a
LOW_BIPD warning flag and a -25 insurance penalty. Default: 750000 (federal minimum).integer
Cargo coverage floor in dollars. Carriers with cargo coverage above zero but below this threshold get a
LOW_CARGO_INSURANCE warning flag and a -10 insurance penalty. Default: 0 (no minimum — only completely missing cargo is flagged).Behavior
- Empty body (or
{}) is valid — it returns the default-policy score, equivalent toGET /v1/carriers/{dot}but on a non-cached path that always recomputes from source data. - Partial overrides merge with the default — sending
{"min_bipd": 1000000}gives you a $1M BIPD threshold with the default cargo behavior. - Negative thresholds are rejected with
400 INVALID_PARAM. - Response stamps the effective policy — the
policyfield in the response is the merged policy that was actually applied. Stamp this on your evidence packet so the score can be reproduced later. - Chameleon-carrier signals are reused from the precomputed nightly snapshot — the cap behavior is identical to the default-policy score.
When stricter policies move the score
The most common deltas:Rate limit and auth
This endpoint counts against your account’s rate limit — the single shared limit used by every authenticated request, includingPOST /v1/carriers/bulk and ordinary carrier lookups. There is no separate bulk-API pool. It returns 401 UNAUTHORIZED without a valid X-API-Key header.