Carrier FMCSA Profile
Carrier Profile (FMCSA) Endpoint
Retrieve a complete FMCSA carrier profile for a single carrier in one request. The endpoint aggregates operating status, authority history, safety (OOS / ISS / BASIC scores), insurance, violations, crashes, and fleet & driver summaries into a single carrier-level payload, with optional VIN-level detail.
Authentication
Include your Access-Token in the header of your requests. Include your x-api-key, the API key provided by GenLogs. This header must be included in the request.
Access-Token(string, required): The access token obtained from the "Create Access Token" endpoint.x-api-key(string, required): The API key provided by GenLogs. This header must be included in the request.
Permissions
No special permission is required to call this endpoint. A valid External API token returns the full base profile (operating status, authority history, safety/OOS, insurance, violations, crashes, and fleet & drivers).
Two optional permissions unlock additional data. They are independent — a token may hold either, both, or neither.
external-api-carrier-iss-score
The detailed iss_basics section (ISS score detail + BASIC breakdown).
iss_basics is null and an errors.iss_basics entry of type PermissionError is returned.
external-api-genlogs-review-score
The GenLogs review score fields — risk_score, risk_tier, and risk_score_date — on both the oos and iss_basics sections.
Those three fields are returned as null (no error entry).
Note on the ISS score. The summary ISS score (
oos.iss_score) is always included in the response and is not gated. Theexternal-api-carrier-iss-scorepermission only controls the detailediss_basicsbreakdown section.
Endpoint
URL: https://api.genlogs.io/carrier/profile/fmcsa Method: GET
Headers
Access-Token
Yes
The access token obtained from the "Create Access Token" endpoint.
x-api-key
Yes
The API key provided by GenLogs.
Query Parameters
usdot_number
string
Yes
Carrier USDOT number. If missing or empty, the request returns 400.
vin
string
No
A vehicle VIN. When supplied, the vin_details section is populated with inspection, crash, and violation history for that VIN. When omitted, vin_details is null (no eager fetch).
Request Example
Response
200 OK: A JSON object containing the aggregated carrier profile. A
200is returned even when some sections fail — see Partial failures.400 Bad Request:
usdot_numberis missing or empty.401 Unauthorized: The
Access-Tokenis missing or invalid.403 Forbidden: The
Access-Tokenis expired.500 Internal Server Error: An unexpected error occurred while assembling the profile.
Response Body
The top-level object is a CarrierFMCSAProfile. Each section resolves independently; a section that fails or is permission-gated is null, with details in errors.
dot_number
string
The carrier USDOT number the profile was built for.
operating_status
object
DOT status & safety rating, FMCSA authorizations (common / contract / broker), MCS-150 details, and active certifications.
authority_history
object
Carrier history snapshots (power units, drivers, mileage over time) and authority action history.
oos
object
Full safety payload: summary ISS score, BASIC scores, major/severe violation counts, crash summary, and OOS rates. See oos.
insurance
object
Active insurance (BIPD, cargo, bond) and insurance-history summary.
iss_basics
object
Detailed ISS + BASIC breakdown (header, tab summary, time-series chart, violation summary & history). Permission-gated. See iss_basics.
violations
object
Violation counts by severity bucket and per-violation rows.
crashes
object
Crash counts by severity and per-crash rows.
fleet_and_drivers
object
Fleet overview (tractors / trailers), driver summary, cargo carried, and fleet age.
vin_details
object
VIN-level inspection, crash, and violation history. Only present when the vin query parameter is supplied; otherwise null.
errors
object
Map of section name → { message, type } for any section that failed or was permission-gated. null when no section errored.
oos
The safety section. The summary iss_score is always present; risk_score, risk_tier, and risk_score_date require external-api-genlogs-review-score.
iss_score
number
Summary Inspection Selection System (ISS) score. Always returned.
basic_scores
object
The seven FMCSA BASIC categories (unsafe_driving, hours_of_service, driver_fitness, controlled_substances, vehicle_maintenance, hazmat_related, crash_indicator), each with score, measure, and is_escalate.
major_and_severe_violations
object
{ most_severe_violations_count, major_violations_count }.
crash_information
object
{ crash_count, injuries, fatalities }.
oos_scores
object
Out-of-service rates: overall, driver, vehicle, and hazmat. Each detail entry has percent_oos, total_oos, total_inspected, and national_avg.
risk_score
number | null
GenLogs review score. Requires external-api-genlogs-review-score.
risk_tier
string | null
GenLogs review-score tier. Requires external-api-genlogs-review-score.
risk_score_date
string | null
Date the review score was computed. Requires external-api-genlogs-review-score.
iss_basics
The detailed ISS + BASIC section. Present only when the token holds external-api-carrier-iss-score.
header
object
{ score, status, measure, recommendation, show_score } — the headline ISS figure and recommendation.
tab_summary
array
Per-BASIC summary rows: { category, title, percentage, measure, status, is_escalate }.
chart
object
ISS time series: data, labels, date_range, group_median, may_measure, point_classifications, has_established_median.
violation_summary
array
Violation summary rows: { weight, category, total, out_of_service }.
violation_history
array
Individual violation entries (date, code, description, weights, etc.).
current_fleet_vins
array
Normalized VINs currently in the carrier's fleet.
risk_score
number | null
GenLogs review score. Requires external-api-genlogs-review-score.
risk_tier
string | null
GenLogs review-score tier. Requires external-api-genlogs-review-score.
risk_score_date
string | null
Date the review score was computed. Requires external-api-genlogs-review-score.
Example Response
Illustrative example for
usdot_number=445219, using a token that holds bothexternal-api-carrier-iss-scoreandexternal-api-genlogs-review-score. Values are representative.
Partial failures
Each section is resolved independently and concurrently. If a section fails, its field is set to null and a structured entry is added to the errors map; the request still returns 200. The type reflects the cause (for example TimeoutError, NotFoundError, or PermissionError).
Permission-gated example
When the token lacks external-api-carrier-iss-score, the iss_basics section is withheld and reported in errors. The summary oos.iss_score is still returned.
When the token lacks external-api-genlogs-review-score, the risk_score, risk_tier, and risk_score_date fields are returned as null on both oos and iss_basics; no errors entry is added.
Status codes
200
Success — including partial responses where some sections are null (see errors).
400
usdot_number is missing or empty.
401
Access-Token is missing or invalid.
403
Access-Token is expired.
500
Unexpected error while assembling the profile.
Last updated