check_roster_changes
Which carriers on your roster changed on or after a date, and what changed: authority, insurance, out-of-service and the other tracked fields, each with its old and new value. Paid, metered: a base price plus a per-roster-entry price, both shown in get_catalog.
roster_usdot_numbers is your own list of USDOT numbers (non-empty, at most settings.roster_screen_max_size distinct entries, currently 100: over the limit is a free invalid_arguments, never a truncation). since is an ISO date, YYYY-MM-DD. A roster entry that matches no carrier is listed in roster_not_found but still counts toward the price. "Nothing changed" is a complete answer and bills like any other; a roster where no entry resolves is a free not_found.
How fresh this is: changes appear only when the underlying data is refreshed (roughly weekly lately, with no committed schedule), so a change made at FMCSA today may not be here yet. provenance.record_as_of says how current the data is. Only real changes are returned (the warehouse's one-time "field started being tracked" rows are not). At most settings.roster_changes_max_rows changes come back, newest first; truncated says whether more existed. Carries no contact information, and no change to legal_name, dba_name, phone or email, same as get_safety_history.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"roster_usdot_numbers": "<roster_usdot_numbers>",
"since": "<since>"
},
"name": "check_roster_changes"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| since | Yes | ISO date (YYYY-MM-DD); report changes recorded on or after it. | |
| roster_usdot_numbers | Yes | Your own roster: 1 to 100 USDOT numbers. Duplicates are counted once; the price depends on the size. |