FleetbaseFleetbase

Drivers

Drivers are mobile workers who can be assigned to vehicles and orders. Use driver endpoints to manage driver profiles, authentication, devices, availability, tracking, and organization context.

The Driver object

A driver represents a Fleet-Ops operator who can receive jobs, report location, register devices, and belong to fleets, vendors, vehicles, and organizations. `email` and `phone` are optional: an operational driver record may have neither, in which case the driver cannot sign in to Navigator until credentials are supplied. `user` and `company` are public-ID strings and have always been — Navigator interpolates `driver.user` straight into a socket channel name, so neither is ever expanded into an object. `vehicle`, `vendor` and `current_job` are objects on create, update and retrieve, which load them. The `vehicle_id`, `vendor_id` and `job_id` keys are additive identifiers beside those objects, not replacements for them. Internal uuid columns and the authentication token are never part of the public contract.
Attributes
idstringoptional

Public driver identifier.

userstringoptional

Public 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_idstringoptional

Optional internal identifier.

companystringoptional

Public company ID for the driver's current company.

company_namestringoptional

Name of the driver's current company.

namestringoptional

Driver display name.

emailstringoptional

Driver email address.

phonestringoptional

Driver phone number.

drivers_license_numberstringoptional

Driver license number.

photo_urlstringoptional

Driver photo URL.

avatar_urlstringoptional

Driver avatar URL.

vehicleobjectoptional

Assigned vehicle. Returned as an object by create, update and retrieve, which load it. Read vehicle_id for the identifier.

current_jobobjectoptional

Current order. Returned as an object by create, update and retrieve, which load it. Read job_id for the identifier.

vendorobjectoptional

Assigned vendor. Returned as an object by create, update and retrieve, which load it. Read vendor_id for the identifier.

fleetsarray of objectsoptional

Fleets the driver belongs to, when loaded.

locationobjectoptional

Current driver coordinates.

headingintegeroptional

Current heading in degrees.

altitudeintegeroptional

Current altitude.

speedintegeroptional

Current speed.

countrystringoptional

Current country code.

currencycurrencyoptional

Currency inferred from the driver's country.

citystringoptional

Current city.

onlinebooleanoptional

Whether the driver is online.

statusstringoptional

Driver lifecycle status.

tokenstringoptional

Authentication token returned by driver login endpoints.

metaobjectoptional

Additional driver metadata.

updated_attimestampoptional

Timestamp when the driver was last updated.

created_attimestampoptional

Timestamp when the driver was created.

timezonestringoptional

Timezone on the driver's linked user account.

license_expirydateoptional

Date the driver's licence expires.

vehicle_idstringoptional

Public ID of the assigned vehicle, or null.

vendor_idstringoptional

Public ID of the assigned vendor, or null.

job_idstringoptional

Public ID of the driver's current order, or null.

bearingnumberoptional

Current bearing.

current_statusstringoptional

Free-form operational status, distinct from the lifecycle status.

skillsarray of stringsoptional

Qualifications or certifications the driver holds, used for orchestrator assignment.

max_travel_timeintegeroptional

Maximum driving time per route, in seconds.

max_distanceintegeroptional

Maximum driving distance per route, in metres.

time_window_startstringoptional

Default shift start time.

time_window_endstringoptional

Default shift end time.

The Driver object
{
  "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"
}
POST/v1/drivers

Create 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.

Body parameters
namestringrequired

Driver display name.

emailstringoptional

Driver email address. Optional. Validated as an email address and required to be unique across users when it is supplied.

phonestringoptional

Driver phone number. Optional. Required to be unique across users when it is supplied.

passwordstringoptional

Optional password for the driver user account. Accepted on create only; changing a password afterwards uses the dedicated password endpoints.

timezonestringoptional

Timezone for the driver's user account.

internal_idstringoptional

The 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_numberstringoptional

Driver licence number. Queryable through ?drivers_license_number=.

license_expirydateoptional

Date the driver's licence expires.

photostringoptional

File ID, upload reference, or resolvable file input for the driver photo.

countrystringoptional

Two-letter country code.

currencystringoptional

Three-letter currency code.

citystringoptional

Driver city.

onlinebooleanoptionalDefault: false

Whether the driver is online.

current_statusstringoptional

Free-form operational status, distinct from the lifecycle status.

statusenumoptional

Driver lifecycle status. active is accepted and stored as available. One of active, available, inactive.

locationobjectoptional

Resolvable point used as the driver's current location.

latitudenumberoptional

Decimal latitude. Required with longitude.

longitudenumberoptional

Decimal longitude. Required with latitude.

headingnumberoptional

Current heading in degrees.

bearingnumberoptional

Current bearing.

altitudenumberoptional

Current altitude.

speednumberoptional

Current speed.

metaobjectoptional

Additional driver metadata.

skillsarray of stringsoptional

Qualifications or certifications the driver holds, used for orchestrator assignment.

max_travel_timeintegeroptional

Maximum driving time per route, in seconds.

max_distanceintegeroptional

Maximum driving distance per route, in metres.

time_window_startstringoptional

Default shift start time, as HH:MM.

time_window_endstringoptional

Default shift end time, as HH:MM.

vehiclestringoptional

Vehicle public ID (vehicle_...) to assign to the driver. Send null to clear. Must belong to the authenticated organization.

vendorstringoptional

Vendor public ID (vendor_...) to assign to the driver. Send null to clear.

jobstringoptional

Current order public ID (order_...) to assign to the driver. Send null to clear.

POST/v1/drivers
curl -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" }
}'
Other ways to call this
200 OK
{
  "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"
}
POST/v1/drivers

Create 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.

Body parameters
namestringrequired

Driver display name. The only required field.

internal_idstringoptional

The identifier the operator's own system uses for this driver.

emailstringoptional

Optional. Omit it when the driver has no mailbox.

phonestringoptional

Optional. Omit it when the driver has no handset.

POST/v1/drivers
curl -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"
}'
200 OK
{
  "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"
}
GET/v1/drivers

Query Drivers

Returns drivers for the current company. Use filters such as vendor, search, pagination, or sort parameters to narrow the result set.

Query parameters
querystringoptional

Free-text search across the driver's name, email, phone and licence number.

namestringoptional

Filter by the driver's name.

internal_idstringoptional

Filter 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_idstringoptional

Filter by driver public ID (driver_...). Exact match.

drivers_license_numberstringoptional

Filter by driver licence number.

phonestringoptional

Filter by the phone number on the driver's linked user account.

countrystringoptional

Filter by country code. Accepts a comma-separated list.

statusstringoptional

Filter by driver status. Accepts a comma-separated list.

vendorstringoptional

Filter by vendor, given as its public ID (vendor_...).

vehiclestringoptional

Filter by assigned vehicle, given as its public ID (vehicle_...) or internal ID. Pass unassigned to return drivers with no vehicle.

fleetstringoptional

Filter to the drivers in a fleet, given as its public ID (fleet_...).

nearbystringoptional

Coordinates or an address string to search near. Pair with radius.

radiusintegeroptional

Search radius in metres, used with nearby.

limitintegeroptional

Maximum number of drivers to return.

offsetintegeroptional

Number of drivers to skip before returning results.

sortstringoptional

Sort expression for the driver query.

witharray of stringsoptional

Relationships 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.

GET/v1/drivers
curl https://api.fleetbase.io/v1/drivers?id={{driver_id}} \
  -H "Authorization: Bearer flb_live_…" \
  -H "Accept: application/json"
200 OK
[
  {
    "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"
  }
]
GET/v1/drivers/:id

Retrieve a Driver

This endpoint allows you to retrieve a driver object to view it's details.

GET/v1/drivers/:id
curl https://api.fleetbase.io/v1/drivers/:id \
  -H "Authorization: Bearer flb_live_…" \
  -H "Accept: application/json"
200 OK
{
  "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"
}
PUT/v1/drivers/:id

Update 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.

Body parameters
namestringoptional

Driver display name.

emailstringoptional

Driver email address.

phonestringoptional

Driver phone number.

timezonestringoptional

Timezone for the driver's user account.

internal_idstringoptional

The 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_numberstringoptional

Driver licence number. Queryable through ?drivers_license_number=.

license_expirydateoptional

Date the driver's licence expires.

photostringoptional

File ID, upload reference, or resolvable file input for the driver photo.

countrystringoptional

Two-letter country code.

currencystringoptional

Three-letter currency code.

citystringoptional

Driver city.

onlinebooleanoptionalDefault: false

Whether the driver is online.

current_statusstringoptional

Free-form operational status, distinct from the lifecycle status.

statusenumoptional

Driver lifecycle status. active is accepted and stored as available. One of active, available, inactive.

locationobjectoptional

Resolvable point used as the driver's current location.

latitudenumberoptional

Decimal latitude. Required with longitude.

longitudenumberoptional

Decimal longitude. Required with latitude.

headingnumberoptional

Current heading in degrees.

bearingnumberoptional

Current bearing.

altitudenumberoptional

Current altitude.

speednumberoptional

Current speed.

metaobjectoptional

Additional driver metadata.

skillsarray of stringsoptional

Qualifications or certifications the driver holds, used for orchestrator assignment.

max_travel_timeintegeroptional

Maximum driving time per route, in seconds.

max_distanceintegeroptional

Maximum driving distance per route, in metres.

time_window_startstringoptional

Default shift start time, as HH:MM.

time_window_endstringoptional

Default shift end time, as HH:MM.

vehiclestringoptional

Vehicle public ID (vehicle_...) to assign to the driver. Send null to clear. Must belong to the authenticated organization.

vendorstringoptional

Vendor public ID (vendor_...) to assign to the driver. Send null to clear.

jobstringoptional

Current order public ID (order_...) to assign to the driver. Send null to clear.

PUT/v1/drivers/:id
curl -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" }
}'
Other ways to call this
200 OK
{
  "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"
}
PUT/v1/drivers/:id

Update 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.

PUT/v1/drivers/:id
curl -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}}"
}'
POST/v1/drivers/:id/change-password

Change 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.

Body parameters
current_passwordstringrequired

The driver's existing password. The change is refused without it.

passwordstringrequired

The new password. Must be at least 8 characters.

password_confirmationstringoptional

When present, must match password.

device_namestringoptional

Name for the replacement token issued to the caller. Defaults to navigator.

POST/v1/drivers/:id/change-password
curl -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"
}'
POST/v1/drivers/forgot-password

Request 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.

Body parameters
identitystringrequired

The driver's email address or phone number.

POST/v1/drivers/forgot-password
curl -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}}"
}'
POST/v1/drivers/reset-password

Reset 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.

Body parameters
identitystringrequired

The driver's email address or phone number — the same one the code was sent to.

codestringrequired

The verification code sent by POST /drivers/forgot-password.

passwordstringrequired

The new password. Must be at least 8 characters.

POST/v1/drivers/reset-password
curl -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}}"
}'
GET/v1/drivers/:id/manifests

List 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.

Query parameters
statusstringoptional

Comma separated statuses to include, such as pending,in_progress.

onstringoptional

Only manifests scheduled on this date, as YYYY-MM-DD.

limitintegeroptional

Maximum manifests to return. Defaults to 30.

GET/v1/drivers/:id/manifests
curl https://api.fleetbase.io/v1/drivers/:id/manifests \
  -H "Authorization: Bearer flb_live_…"
DELETE/v1/drivers/:id

Delete an Operational Driver

Deletes the credential-less driver created by Create an Operational Driver.

DELETE/v1/drivers/:id
curl -X DELETE https://api.fleetbase.io/v1/drivers/:id \
  -H "Authorization: Bearer flb_live_…" \
  -H "Accept: application/json"
DELETE/v1/drivers/:id

Delete a Driver

Use this endpoint to delete a driver.

DELETE/v1/drivers/:id
curl -X DELETE https://api.fleetbase.io/v1/drivers/:id \
  -H "Authorization: Bearer flb_live_…" \
  -H "Accept: application/json"
200 OK
{
  "deleted": "<boolean>",
  "id": "<string>"
}
PATCH/v1/drivers/:id/track

Track Driver

Body parameters
latitudenumberoptional

Driver latitude. When omitted with longitude, Fleetbase returns the current driver resource without updating location.

longitudenumberoptional

Driver longitude. When omitted with latitude, Fleetbase returns the current driver resource without updating location.

altitudenumberoptional

Current altitude.

headingnumberoptional

Current heading in degrees.

speednumberoptional

Current speed.

PATCH/v1/drivers/:id/track
curl -X PATCH https://api.fleetbase.io/v1/drivers/:id/track \
  -H "Authorization: Bearer flb_live_…"
POST/v1/drivers/login

Login Driver

Authenticates a driver with email/phone and password.

Body parameters
identitystringrequired

Driver email address or phone number.

passwordstringrequired

Driver account password.

POST/v1/drivers/login
curl -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}}"
}'
POST/v1/drivers/login-with-sms

Request Driver Login SMS

Starts driver SMS verification login.

Body parameters
phonestringrequired

Driver phone number to send the verification code to.

POST/v1/drivers/login-with-sms
curl -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}}"
}'
POST/v1/drivers/verify-code

Verify Driver Login Code

Verifies driver login code and returns a driver token.

Body parameters
identitystringrequired

Driver email address or phone number used for verification.

codestringrequired

Verification code sent to the driver.

forstringoptionalDefault: driver_login

Verification purpose. Defaults to driver_login.

POST/v1/drivers/verify-code
curl -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}}"
}'
POST/v1/drivers/:id/register-device

Register Driver Device

Registers a device token for a specific driver.

Body parameters
tokenstringrequired

Device push token to register for the driver.

platformstringrequired

Device platform. May also be supplied as os.

osstringoptional

Alias for platform.

POST/v1/drivers/:id/register-device
curl -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"
}'
POST/v1/drivers/register-device

Register Device

Registers a driver device token through the non-id route.

Body parameters
tokenstringrequired

Device push token to register.

platformstringrequired

Device platform. May also be supplied as os.

osstringoptional

Alias for platform.

POST/v1/drivers/register-device
curl -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"
}'
POST/v1/drivers/:id/switch-organization

Switch 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.

Body parameters
nextstringrequired

Organization ID to switch the driver session to.

POST/v1/drivers/:id/switch-organization
curl -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}}"
}'
POST/v1/drivers/:id/toggle-online

Toggle Driver Online

Toggles or sets driver online status.

Body parameters
onlinebooleanoptional

Online status to set. When omitted, Fleetbase toggles the driver's current online status.

POST/v1/drivers/:id/toggle-online
curl -X POST https://api.fleetbase.io/v1/drivers/:id/toggle-online \
  -H "Authorization: Bearer flb_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "online": true
}'
GET/v1/drivers/:id/organizations

List Driver Organizations

Lists organizations a driver belongs to.

GET/v1/drivers/:id/organizations
curl https://api.fleetbase.io/v1/drivers/:id/organizations \
  -H "Authorization: Bearer flb_live_…"
GET/v1/drivers/:id/current-organization

Get Driver Current Organization

Returns the driver current organization.

GET/v1/drivers/:id/current-organization
curl https://api.fleetbase.io/v1/drivers/:id/current-organization \
  -H "Authorization: Bearer flb_live_…"
POST/v1/drivers/:id/simulate

Simulate Driver Route

Simulates driver movement between two resolvable points, or pass order to simulate an order route.

Body parameters
startobjectoptional

Starting point for the simulated drive. Required when order is not supplied.

endobjectoptional

Ending point for the simulated drive. Required when order is not supplied.

orderstringoptional

Order ID to simulate. Required when the action is order.

actionstringoptionalDefault: drive

Simulation action. Defaults to drive.

POST/v1/drivers/:id/simulate
curl -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
  }
}'
Drivers | Fleetbase