Drivers
The Driver object
idstringoptionalPublic driver identifier.
userstringoptionalPublic user ID linked to the driver. Always a string, never an object — Navigator uses it directly as a chat participant identifier and as a socket channel name.
internal_idstringoptionalOptional internal identifier.
companystringoptionalPublic company ID for the driver's current company.
company_namestringoptionalName of the driver's current company.
namestringoptionalDriver display name.
emailstringoptionalDriver email address.
phonestringoptionalDriver phone number.
drivers_license_numberstringoptionalDriver license number.
photo_urlstringoptionalDriver photo URL.
avatar_urlstringoptionalDriver avatar URL.
vehicleobjectoptionalAssigned vehicle. Returned as an object by create, update and retrieve, which load it. Read vehicle_id for the identifier.
current_jobobjectoptionalCurrent order. Returned as an object by create, update and retrieve, which load it. Read job_id for the identifier.
vendorobjectoptionalAssigned vendor. Returned as an object by create, update and retrieve, which load it. Read vendor_id for the identifier.
fleetsarray of objectsoptionalFleets the driver belongs to, when loaded.
locationobjectoptionalCurrent driver coordinates.
headingintegeroptionalCurrent heading in degrees.
altitudeintegeroptionalCurrent altitude.
speedintegeroptionalCurrent speed.
countrystringoptionalCurrent country code.
currencycurrencyoptionalCurrency inferred from the driver's country.
citystringoptionalCurrent city.
onlinebooleanoptionalWhether the driver is online.
statusstringoptionalDriver lifecycle status.
tokenstringoptionalAuthentication token returned by driver login endpoints.
metaobjectoptionalAdditional driver metadata.
updated_attimestampoptionalTimestamp when the driver was last updated.
created_attimestampoptionalTimestamp when the driver was created.
timezonestringoptionalTimezone on the driver's linked user account.
license_expirydateoptionalDate the driver's licence expires.
vehicle_idstringoptionalPublic ID of the assigned vehicle, or null.
vendor_idstringoptionalPublic ID of the assigned vendor, or null.
job_idstringoptionalPublic ID of the driver's current order, or null.
bearingnumberoptionalCurrent bearing.
current_statusstringoptionalFree-form operational status, distinct from the lifecycle status.
skillsarray of stringsoptionalQualifications or certifications the driver holds, used for orchestrator assignment.
max_travel_timeintegeroptionalMaximum driving time per route, in seconds.
max_distanceintegeroptionalMaximum driving distance per route, in metres.
time_window_startstringoptionalDefault shift start time.
time_window_endstringoptionalDefault shift end time.
{
"id": "driver_A1b2C3d4E5",
"user": "user_1A2b3C4d5E",
"internal_id": "DRV-1001",
"company": "company_6zV1KqN9pR",
"company_name": "Fleetbase",
"name": "Alex Driver",
"email": "alex.driver@example.com",
"phone": "+15555550111",
"timezone": "Asia/Singapore",
"drivers_license_number": null,
"license_expiry": null,
"vehicle_id": null,
"vendor_id": null,
"job_id": null,
"photo_url": null,
"avatar_url": null,
"vehicle_avatar": null,
"location": {
"latitude": 1.3521,
"longitude": 103.8198
},
"heading": 0,
"altitude": 0,
"speed": 0,
"country": "SG",
"currency": "SGD",
"city": "Singapore",
"online": false,
"current_status": null,
"status": "active",
"token": null,
"skills": null,
"max_travel_time": null,
"max_distance": null,
"time_window_start": null,
"time_window_end": null,
"meta": {},
"updated_at": "2026-05-07T08:30:00.000000Z",
"created_at": "2026-05-07T08:30:00.000000Z"
}/v1/driversCreate a Driver
Creates a driver profile and its linked user account.
Only name is required. email and phone are optional — an operational fleet record may legitimately have neither — but each is validated and required to be unique across users when it is supplied. No placeholder address or number is ever generated, and no invitation is sent when there is no deliverable contact method. A driver created without credentials cannot sign in to Navigator until credentials are added; see Create an Operational Driver.
Beyond the account fields the endpoint accepts the driver's identity (internal_id, drivers_license_number, license_expiry, photo), operational fields (country, currency, city, online, current_status, status, location and telemetry), structured meta, orchestrator constraints, and the vehicle, vendor and job relationships given as public IDs and resolved inside the authenticated organization.
namestringrequiredDriver display name.
emailstringoptionalDriver email address. Optional. Validated as an email address and required to be unique across users when it is supplied.
phonestringoptionalDriver phone number. Optional. Required to be unique across users when it is supplied.
passwordstringoptionalOptional password for the driver user account. Accepted on create only; changing a password afterwards uses the dedicated password endpoints.
timezonestringoptionalTimezone for the driver's user account.
internal_idstringoptionalThe identifier the operator's own system uses for this driver. Queryable through ?internal_id=, which is how an importer decides whether a driver already exists.
drivers_license_numberstringoptionalDriver licence number. Queryable through ?drivers_license_number=.
license_expirydateoptionalDate the driver's licence expires.
photostringoptionalFile ID, upload reference, or resolvable file input for the driver photo.
countrystringoptionalTwo-letter country code.
currencystringoptionalThree-letter currency code.
citystringoptionalDriver city.
onlinebooleanoptionalDefault: falseWhether the driver is online.
current_statusstringoptionalFree-form operational status, distinct from the lifecycle status.
statusenumoptionalDriver lifecycle status. active is accepted and stored as available. One of active, available, inactive.
locationobjectoptionalResolvable point used as the driver's current location.
latitudenumberoptionalDecimal latitude. Required with longitude.
longitudenumberoptionalDecimal longitude. Required with latitude.
headingnumberoptionalCurrent heading in degrees.
bearingnumberoptionalCurrent bearing.
altitudenumberoptionalCurrent altitude.
speednumberoptionalCurrent speed.
metaobjectoptionalAdditional driver metadata.
skillsarray of stringsoptionalQualifications or certifications the driver holds, used for orchestrator assignment.
max_travel_timeintegeroptionalMaximum driving time per route, in seconds.
max_distanceintegeroptionalMaximum driving distance per route, in metres.
time_window_startstringoptionalDefault shift start time, as HH:MM.
time_window_endstringoptionalDefault shift end time, as HH:MM.
vehiclestringoptionalVehicle public ID (vehicle_...) to assign to the driver. Send null to clear. Must belong to the authenticated organization.
vendorstringoptionalVendor public ID (vendor_...) to assign to the driver. Send null to clear.
jobstringoptionalCurrent order public ID (order_...) to assign to the driver. Send null to clear.
/v1/driverscurl -X POST https://api.fleetbase.io/v1/drivers \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "John Doe",
"email": "{{$randomEmail}}",
"phone": "{{$randomPhoneNumber}}",
"password": "{{driver_seed_password}}",
"timezone": "Asia/Singapore",
"internal_id": "DRV-1001",
"drivers_license_number": "S1234567A",
"license_expiry": "2030-06-30",
"country": "SG",
"city": "Singapore",
"current_status": "on_duty",
"skills": ["hazmat"],
"max_travel_time": 28800,
"max_distance": 250000,
"time_window_start": "08:00",
"time_window_end": "18:00",
"meta": { "badge": "A12" }
}'{
"id": "driver_A1b2C3d4E5",
"user": "user_1A2b3C4d5E",
"internal_id": "DRV-1001",
"company": "company_6zV1KqN9pR",
"company_name": "Fleetbase",
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "+15555550111",
"timezone": "Asia/Singapore",
"drivers_license_number": "S1234567A",
"license_expiry": "2030-06-30",
"photo_url": null,
"avatar_url": "https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/driver-icons/moto-driver.png",
"vehicle_avatar": "https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/vehicle-icons/mini_bus.svg",
"vehicle_id": null,
"vendor_id": null,
"job_id": null,
"vehicle": null,
"vendor": null,
"current_job": null,
"location": {
"type": "Point",
"coordinates": [
0,
0
]
},
"heading": 0,
"bearing": null,
"altitude": 0,
"speed": 0,
"country": "SG",
"currency": "SGD",
"city": "Singapore",
"online": false,
"current_status": "on_duty",
"status": "available",
"token": null,
"skills": [
"hazmat"
],
"max_travel_time": 28800,
"max_distance": 250000,
"time_window_start": "08:00:00",
"time_window_end": "18:00:00",
"meta": {
"badge": "A12"
},
"updated_at": "2026-05-07T08:30:00.000000Z",
"created_at": "2026-05-07T08:30:00.000000Z"
}/v1/driversCreate an Operational Driver
Creates a driver record for someone with no deliverable email address and no phone number — a subcontracted or yard-only driver, or a record imported from an operator's own system.
Only name is required. Nothing is invented to fill the gap: no placeholder address, no placeholder number, and no invitation or credential notification is sent, because there is nowhere to send one. The Driver-to-User relationship, the organization membership, the driver user type and the Driver role are all created exactly as they are for a credentialed driver.
A driver created this way cannot sign in to Navigator until credentials are supplied. Add an email address or phone number with PUT /v1/drivers/{id} when one becomes available.
namestringrequiredDriver display name. The only required field.
internal_idstringoptionalThe identifier the operator's own system uses for this driver.
emailstringoptionalOptional. Omit it when the driver has no mailbox.
phonestringoptionalOptional. Omit it when the driver has no handset.
/v1/driverscurl -X POST https://api.fleetbase.io/v1/drivers \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Yard Driver",
"internal_id": "DRV-7788"
}'{
"id": "driver_Z9y8X7w6V5",
"user": "user_9K8j7H6g5F",
"internal_id": "DRV-7788",
"company": "company_6zV1KqN9pR",
"company_name": "Fleetbase",
"name": "Yard Driver",
"email": null,
"phone": null,
"drivers_license_number": null,
"license_expiry": null,
"vehicle_id": null,
"vendor_id": null,
"job_id": null,
"vehicle": null,
"vendor": null,
"current_job": null,
"online": false,
"status": "available",
"meta": {},
"updated_at": "2026-05-07T08:32:00.000000Z",
"created_at": "2026-05-07T08:32:00.000000Z"
}/v1/driversQuery Drivers
Returns drivers for the current company. Use filters such as vendor, search, pagination, or sort parameters to narrow the result set.
querystringoptionalFree-text search across the driver's name, email, phone and licence number.
namestringoptionalFilter by the driver's name.
internal_idstringoptionalFilter by the identifier the operator's own system uses. Exact match on the public API: DRV-10 returns only DRV-10, never DRV-100. That is what lets an importer use it to decide between update and create. (The Fleet-Ops console does a partial search on the same field; that behaviour is internal to the console and not part of this contract.)
public_idstringoptionalFilter by driver public ID (driver_...). Exact match.
drivers_license_numberstringoptionalFilter by driver licence number.
phonestringoptionalFilter by the phone number on the driver's linked user account.
countrystringoptionalFilter by country code. Accepts a comma-separated list.
statusstringoptionalFilter by driver status. Accepts a comma-separated list.
vendorstringoptionalFilter by vendor, given as its public ID (vendor_...).
vehiclestringoptionalFilter by assigned vehicle, given as its public ID (vehicle_...) or internal ID. Pass unassigned to return drivers with no vehicle.
fleetstringoptionalFilter to the drivers in a fleet, given as its public ID (fleet_...).
nearbystringoptionalCoordinates or an address string to search near. Pair with radius.
radiusintegeroptionalSearch radius in metres, used with nearby.
limitintegeroptionalMaximum number of drivers to return.
offsetintegeroptionalNumber of drivers to skip before returning results.
sortstringoptionalSort expression for the driver query.
witharray of stringsoptionalRelationships to expand. Accepted as ?with=vendor, ?with[]=vendor, ?with[]=vendor&with[]=driver and ?with=vendor,driver; expand is an alias for all four. A relationship named here is additionally returned as a nested object — it never replaces or retypes the <name>_id identifier, which is always present. A name outside the supported set is ignored rather than rejected.
/v1/driverscurl https://api.fleetbase.io/v1/drivers?id={{driver_id}} \
-H "Authorization: Bearer flb_live_…" \
-H "Accept: application/json"[
{
"id": "driver_A1b2C3d4E5",
"user": "user_1A2b3C4d5E",
"internal_id": "DRV-1001",
"company": "company_6zV1KqN9pR",
"company_name": "Fleetbase",
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "+15555550111",
"drivers_license_number": "S1234567A",
"license_expiry": "2030-06-30",
"vehicle_id": null,
"vendor_id": null,
"job_id": null,
"country": "SG",
"city": "Singapore",
"online": false,
"current_status": "on_duty",
"status": "available",
"meta": {
"badge": "A12"
},
"updated_at": "2026-05-07T08:30:00.000000Z",
"created_at": "2026-05-07T08:30:00.000000Z"
}
]/v1/drivers/:idRetrieve a Driver
This endpoint allows you to retrieve a driver object to view it's details.
/v1/drivers/:idcurl https://api.fleetbase.io/v1/drivers/:id \
-H "Authorization: Bearer flb_live_…" \
-H "Accept: application/json"{
"id": "driver_A1b2C3d4E5",
"user": "user_1A2b3C4d5E",
"internal_id": "DRV-1002",
"company": "company_6zV1KqN9pR",
"company_name": "Fleetbase",
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "+15555550111",
"timezone": "Asia/Singapore",
"drivers_license_number": "S1234567A",
"license_expiry": "2030-06-30",
"photo_url": null,
"avatar_url": "https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/driver-icons/moto-driver.png",
"vehicle_id": "vehicle_7YqM3KpL2n",
"vendor_id": null,
"job_id": null,
"vehicle": {
"id": "vehicle_7YqM3KpL2n",
"plate_number": "ABC123",
"make": "Toyota",
"model": "Camry"
},
"vendor": null,
"current_job": null,
"location": {
"type": "Point",
"coordinates": [
103.8198,
1.3521
]
},
"heading": 0,
"bearing": null,
"altitude": 0,
"speed": 0,
"country": "SG",
"currency": "SGD",
"city": "Johor Bahru",
"online": false,
"current_status": "off_duty",
"status": "available",
"token": null,
"skills": [
"hazmat"
],
"max_travel_time": 28800,
"max_distance": 250000,
"time_window_start": "08:00:00",
"time_window_end": "18:00:00",
"meta": {
"badge": "B34"
},
"updated_at": "2026-05-07T09:12:00.000000Z",
"created_at": "2026-05-07T08:30:00.000000Z"
}/v1/drivers/:idUpdate a Driver
Updates a driver's account fields, identity, assignment, operational state, location, photo, orchestrator constraints, or metadata.
password is deliberately not accepted here. Changing a password requires proving the old one and resetting it requires a code, neither of which a general PUT can express — use Change Driver Password, Request Driver Password Reset and Reset Driver Password instead.
Relationship inputs take public IDs and are resolved inside the authenticated organization. Sending null clears an assignment.
namestringoptionalDriver display name.
emailstringoptionalDriver email address.
phonestringoptionalDriver phone number.
timezonestringoptionalTimezone for the driver's user account.
internal_idstringoptionalThe identifier the operator's own system uses for this driver. Queryable through ?internal_id=, which is how an importer decides whether a driver already exists.
drivers_license_numberstringoptionalDriver licence number. Queryable through ?drivers_license_number=.
license_expirydateoptionalDate the driver's licence expires.
photostringoptionalFile ID, upload reference, or resolvable file input for the driver photo.
countrystringoptionalTwo-letter country code.
currencystringoptionalThree-letter currency code.
citystringoptionalDriver city.
onlinebooleanoptionalDefault: falseWhether the driver is online.
current_statusstringoptionalFree-form operational status, distinct from the lifecycle status.
statusenumoptionalDriver lifecycle status. active is accepted and stored as available. One of active, available, inactive.
locationobjectoptionalResolvable point used as the driver's current location.
latitudenumberoptionalDecimal latitude. Required with longitude.
longitudenumberoptionalDecimal longitude. Required with latitude.
headingnumberoptionalCurrent heading in degrees.
bearingnumberoptionalCurrent bearing.
altitudenumberoptionalCurrent altitude.
speednumberoptionalCurrent speed.
metaobjectoptionalAdditional driver metadata.
skillsarray of stringsoptionalQualifications or certifications the driver holds, used for orchestrator assignment.
max_travel_timeintegeroptionalMaximum driving time per route, in seconds.
max_distanceintegeroptionalMaximum driving distance per route, in metres.
time_window_startstringoptionalDefault shift start time, as HH:MM.
time_window_endstringoptionalDefault shift end time, as HH:MM.
vehiclestringoptionalVehicle public ID (vehicle_...) to assign to the driver. Send null to clear. Must belong to the authenticated organization.
vendorstringoptionalVendor public ID (vendor_...) to assign to the driver. Send null to clear.
jobstringoptionalCurrent order public ID (order_...) to assign to the driver. Send null to clear.
/v1/drivers/:idcurl -X PUT https://api.fleetbase.io/v1/drivers/:id \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "John Doe",
"email": "{{$randomEmail}}",
"phone": "{{$randomPhoneNumber}}",
"internal_id": "DRV-1002",
"timezone": "Europe/Amsterdam",
"city": "Johor Bahru",
"current_status": "off_duty",
"meta": { "badge": "B34" }
}'{
"id": "driver_A1b2C3d4E5",
"user": "user_1A2b3C4d5E",
"internal_id": "DRV-1002",
"company": "company_6zV1KqN9pR",
"company_name": "Fleetbase",
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "+15555550111",
"timezone": "Asia/Singapore",
"drivers_license_number": "S1234567A",
"license_expiry": "2030-06-30",
"photo_url": null,
"avatar_url": "https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/driver-icons/moto-driver.png",
"vehicle_id": "vehicle_7YqM3KpL2n",
"vendor_id": null,
"job_id": null,
"vehicle": {
"id": "vehicle_7YqM3KpL2n",
"plate_number": "ABC123",
"make": "Toyota",
"model": "Camry"
},
"vendor": null,
"current_job": null,
"location": {
"type": "Point",
"coordinates": [
103.8198,
1.3521
]
},
"heading": 0,
"bearing": null,
"altitude": 0,
"speed": 0,
"country": "SG",
"currency": "SGD",
"city": "Johor Bahru",
"online": false,
"current_status": "off_duty",
"status": "available",
"token": null,
"skills": [
"hazmat"
],
"max_travel_time": 28800,
"max_distance": 250000,
"time_window_start": "08:00:00",
"time_window_end": "18:00:00",
"meta": {
"badge": "B34"
},
"updated_at": "2026-05-07T09:12:00.000000Z",
"created_at": "2026-05-07T08:30:00.000000Z"
}/v1/drivers/:idUpdate a Driver Unchanged Contact
Resends the driver's current email address and phone number unchanged.
Uniqueness is enforced on update against every other live user account, with the driver's own linked user ignored by uuid. Without that clause this request would fail against the driver's own address — which is why it exists.
/v1/drivers/:idcurl -X PUT https://api.fleetbase.io/v1/drivers/:id \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email": "{{created_driver_email}}",
"phone": "{{created_driver_phone}}"
}'/v1/drivers/:id/change-passwordChange Driver Password
Changes the password of a driver who is signed in, proving the current one.
A password change is an authorisation decision rather than an attribute update, which is why it is not part of PUT /drivers/:id — that endpoint does not accept a password at all. Supplying the wrong current_password is refused and changes nothing.
Every other session is revoked when the password changes, and a fresh token is returned in the same response, so the caller keeps working while other devices are signed out.
current_passwordstringrequiredThe driver's existing password. The change is refused without it.
passwordstringrequiredThe new password. Must be at least 8 characters.
password_confirmationstringoptionalWhen present, must match password.
device_namestringoptionalName for the replacement token issued to the caller. Defaults to navigator.
/v1/drivers/:id/change-passwordcurl -X POST https://api.fleetbase.io/v1/drivers/:id/change-password \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"current_password": "{{created_driver_password}}",
"password": "{{driver_new_password}}",
"password_confirmation": "{{driver_new_password}}",
"device_name": "navigator"
}'/v1/drivers/forgot-passwordRequest Driver Password Reset
Sends a password reset code to a driver who cannot sign in.
The code goes by email or SMS depending on whether identity looks like an email address or a phone number.
The response is the same whether or not the identity belongs to a driver. That is deliberate: an endpoint that answered differently for an unknown number would be a way to enumerate an organization's drivers.
driver_reset_identity defaults to a reserved address that belongs to nobody, so running the collection documents the endpoint without sending mail to a stranger. Point it at a real driver to exercise delivery.
identitystringrequiredThe driver's email address or phone number.
/v1/drivers/forgot-passwordcurl -X POST https://api.fleetbase.io/v1/drivers/forgot-password \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"identity": "{{driver_reset_identity}}"
}'/v1/drivers/reset-passwordReset Driver Password
Sets a new password using the code sent by POST /drivers/forgot-password.
A wrong code, an expired code and an unknown identity all return the same error, so the endpoint cannot be used to test which of the three happened.
Every session is revoked on success. A reset is a recovery from losing control of an account, so nothing that was signed in stays signed in.
driver_password_reset_code is a code issued for this flow specifically — a login code will not do, because the endpoint matches on purpose as well as on value. The password is set back to the one already in force so the run stays repeatable and the driver login requests further down still authenticate.
identitystringrequiredThe driver's email address or phone number — the same one the code was sent to.
codestringrequiredThe verification code sent by POST /drivers/forgot-password.
passwordstringrequiredThe new password. Must be at least 8 characters.
/v1/drivers/reset-passwordcurl -X POST https://api.fleetbase.io/v1/drivers/reset-password \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"identity": "{{driver_identity}}",
"code": "{{driver_password_reset_code}}",
"password": "{{driver_password}}"
}'/v1/drivers/:id/manifestsList Driver Manifests
Lists the manifests assigned to a driver, newest first.
A manifest is a driver's route: an order-agnostic sequence of stops which may span several orders, or none the driver has seen as an order.
Defaults to a recent window rather than the driver's whole history. Use status and on to narrow it further.
statusstringoptionalComma separated statuses to include, such as pending,in_progress.
onstringoptionalOnly manifests scheduled on this date, as YYYY-MM-DD.
limitintegeroptionalMaximum manifests to return. Defaults to 30.
/v1/drivers/:id/manifestscurl https://api.fleetbase.io/v1/drivers/:id/manifests \
-H "Authorization: Bearer flb_live_…"/v1/drivers/:idDelete an Operational Driver
Deletes the credential-less driver created by Create an Operational Driver.
/v1/drivers/:idcurl -X DELETE https://api.fleetbase.io/v1/drivers/:id \
-H "Authorization: Bearer flb_live_…" \
-H "Accept: application/json"/v1/drivers/:idDelete a Driver
Use this endpoint to delete a driver.
/v1/drivers/:idcurl -X DELETE https://api.fleetbase.io/v1/drivers/:id \
-H "Authorization: Bearer flb_live_…" \
-H "Accept: application/json"{
"deleted": "<boolean>",
"id": "<string>"
}/v1/drivers/:id/trackTrack Driver
latitudenumberoptionalDriver latitude. When omitted with longitude, Fleetbase returns the current driver resource without updating location.
longitudenumberoptionalDriver longitude. When omitted with latitude, Fleetbase returns the current driver resource without updating location.
altitudenumberoptionalCurrent altitude.
headingnumberoptionalCurrent heading in degrees.
speednumberoptionalCurrent speed.
/v1/drivers/:id/trackcurl -X PATCH https://api.fleetbase.io/v1/drivers/:id/track \
-H "Authorization: Bearer flb_live_…"/v1/drivers/loginLogin Driver
Authenticates a driver with email/phone and password.
identitystringrequiredDriver email address or phone number.
passwordstringrequiredDriver account password.
/v1/drivers/logincurl -X POST https://api.fleetbase.io/v1/drivers/login \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"identity": "{{driver_identity}}",
"password": "{{driver_password}}"
}'/v1/drivers/login-with-smsRequest Driver Login SMS
Starts driver SMS verification login.
phonestringrequiredDriver phone number to send the verification code to.
/v1/drivers/login-with-smscurl -X POST https://api.fleetbase.io/v1/drivers/login-with-sms \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"phone": "{{driver_phone}}"
}'/v1/drivers/verify-codeVerify Driver Login Code
Verifies driver login code and returns a driver token.
identitystringrequiredDriver email address or phone number used for verification.
codestringrequiredVerification code sent to the driver.
forstringoptionalDefault: driver_loginVerification purpose. Defaults to driver_login.
/v1/drivers/verify-codecurl -X POST https://api.fleetbase.io/v1/drivers/verify-code \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"identity": "{{driver_identity}}",
"code": "{{verification_code}}"
}'/v1/drivers/:id/register-deviceRegister Driver Device
Registers a device token for a specific driver.
tokenstringrequiredDevice push token to register for the driver.
platformstringrequiredDevice platform. May also be supplied as os.
osstringoptionalAlias for platform.
/v1/drivers/:id/register-devicecurl -X POST https://api.fleetbase.io/v1/drivers/:id/register-device \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"token": "{{device_token}}",
"platform": "ios"
}'/v1/drivers/register-deviceRegister Device
Registers a driver device token through the non-id route.
tokenstringrequiredDevice push token to register.
platformstringrequiredDevice platform. May also be supplied as os.
osstringoptionalAlias for platform.
/v1/drivers/register-devicecurl -X POST https://api.fleetbase.io/v1/drivers/register-device \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"token": "{{device_token}}",
"platform": "ios"
}'/v1/drivers/:id/switch-organizationSwitch Driver Organization
Switches the driver session to another organization.
The driver must already belong to the target organization, and it must not be the one they are currently in — switching to the current organization is rejected. A driver created through POST /drivers belongs to a single organization, so this example uses one that belongs to more than one.
nextstringrequiredOrganization ID to switch the driver session to.
/v1/drivers/:id/switch-organizationcurl -X POST https://api.fleetbase.io/v1/drivers/:id/switch-organization \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"next": "{{secondary_organization_id}}"
}'/v1/drivers/:id/toggle-onlineToggle Driver Online
Toggles or sets driver online status.
onlinebooleanoptionalOnline status to set. When omitted, Fleetbase toggles the driver's current online status.
/v1/drivers/:id/toggle-onlinecurl -X POST https://api.fleetbase.io/v1/drivers/:id/toggle-online \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"online": true
}'/v1/drivers/:id/organizationsList Driver Organizations
Lists organizations a driver belongs to.
/v1/drivers/:id/organizationscurl https://api.fleetbase.io/v1/drivers/:id/organizations \
-H "Authorization: Bearer flb_live_…"/v1/drivers/:id/current-organizationGet Driver Current Organization
Returns the driver current organization.
/v1/drivers/:id/current-organizationcurl https://api.fleetbase.io/v1/drivers/:id/current-organization \
-H "Authorization: Bearer flb_live_…"/v1/drivers/:id/simulateSimulate Driver Route
Simulates driver movement between two resolvable points, or pass order to simulate an order route.
startobjectoptionalStarting point for the simulated drive. Required when order is not supplied.
endobjectoptionalEnding point for the simulated drive. Required when order is not supplied.
orderstringoptionalOrder ID to simulate. Required when the action is order.
actionstringoptionalDefault: driveSimulation action. Defaults to drive.
/v1/drivers/:id/simulatecurl -X POST https://api.fleetbase.io/v1/drivers/:id/simulate \
-H "Authorization: Bearer flb_live_…" \
-H "Content-Type: application/json" \
-d '{
"start": {
"latitude": 1.3521,
"longitude": 103.8198
},
"end": {
"latitude": 1.2903,
"longitude": 103.8519
}
}'