Vehicle settings and trackers
Change the license plate, the odometer and the primary tracker with `vehicles:write`; list trackers with `vehicles:read`.
With vehicles:write your app changes the vehicle settings the FleetBold app changes: the license plate, the odometer and which tracker is the primary one. Every write answers 202 with a command resource (kind vehicle_device, vehicle_plate or vehicle_odometer), polled with GET /v1/commands/{command_id} like vehicle commands. vehicles:write is a high-risk scope: users confirm it separately on the consent page.
GET /v1/vehicles/{vehicle_id}/devices(vehicles:read): every tracker linked to the user's account for the vehicle (in an organization, the owner's when the user has none), the primary one first, withkind(internal,built_in,external),provider,modelandselectable. IMEI, serial numbers, names and subscriptions are never returned.POST /v1/vehicles/{vehicle_id}/primary-device{"device_id": "dev_…"}: FleetBold uses the new primary tracker for the vehicle's location from its next report. A FleetBold tracker that is not activated or has no subscription answers 409device_not_selectable; a switch away from or onto a provider not available through the API answers 403provider_restricted.POST /v1/vehicles/{vehicle_id}/license-plate{"license_plate": "…"}: 1–50 characters, stored upper-case. In an organization context it changes the plate the organization shows.POST /v1/vehicles/{vehicle_id}/odometer{"odometer_mi": 48211.4}: like "Update Odometer" in the FleetBold app, any value in miles that is not negative./stateshows the new value asmileage.source: calculatedwhen the vehicle reports no odometer of its own.- All writes need an
Idempotency-Key. In an organization context the member also needs FleetBold'svehicles.managepermission.
Changing the primary tracker changes where the vehicle's location comes from, and can change data_available. Commands do not depend on it: a FleetBold device command can go to any activated, subscribed tracker (device_id). A failure with outcome unknown (vehicle_update_failed) may have been applied: read the vehicle before retrying.