Vehicle settings and trackers

Change the license plate, the odometer and the primary tracker with `vehicles:write`; list trackers with `vehicles:read`.

Draft

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, with kind (internal, built_in, external), provider, model and selectable. 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 409 device_not_selectable; a switch away from or onto a provider not available through the API answers 403 provider_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. /state shows the new value as mileage.source: calculated when the vehicle reports no odometer of its own.
  • All writes need an Idempotency-Key. In an organization context the member also needs FleetBold's vehicles.manage permission.

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.