Skip to main content

Drivers

Manage the people who operate your fleet vehicles — list, create, and update driver profiles.

Prerequisites

All endpoints require a valid JWT token, API key, and tenant header. See Authentication.


List Drivers

Retrieve a paginated list of drivers with filtering support.

GET/apidev/v1/fleet/drivers
PermissionAPICLI_FLEET_DRIVERS_READ
Rate Limit30 req/min (sliding window)
Cache120s

Query Parameters

ParameterTypeRequiredDefaultDescription
limitintegerNo25Records per page. Min: 1, Max: 100
offsetintegerNo0Records to skip
statusstringNoA (active) or I (inactive)
namestringNoPartial match on driver name or email
documentstringNoPartial match on document number
driver_groupstringNoPartial match on driver group name

Response Fields

FieldTypeDescription
idstringDriver unique identifier (BigInt as string)
namestring | nullDriver full name
documentstring | nullIdentity document number
emailstring | nullEmail address
phonestring | nullPhone number
image_urlstring | nullURL to driver photo
external_codestring | nullExternal integration code
activebooleanWhether the driver is currently active
statusstring"A" (active) or "I" (inactive)
driver_groupstring | nullDriver group or category
assigned_vehicleobject | nullAssigned vehicle (see below)

assigned_vehicle object:

FieldTypeDescription
idstringVehicle identifier
namestring | nullVehicle display name
license_platestring | nullVehicle license plate

Code Example

curl -s "https://$TENANT/apidev/v1/fleet/drivers?limit=10&status=A" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"

Example Response

{
"success": true,
"data": [
{
"id": "104820579455",
"name": "Carlos Martinez",
"document": "12345678",
"email": "carlos@company.com",
"phone": "+59899654321",
"image_url": null,
"external_code": "DRV-042",
"active": true,
"status": "A",
"driver_group": "Long Haul",
"assigned_vehicle": {
"id": "104820579301",
"name": "Movil 10",
"license_plate": "ABC123"
}
},
{
"id": "104820579460",
"name": "Maria Lopez",
"document": "87654321",
"email": "maria@company.com",
"phone": "+59899123456",
"image_url": null,
"external_code": null,
"active": true,
"status": "A",
"driver_group": "Urban",
"assigned_vehicle": null
}
],
"meta": {
"total": 28,
"limit": 10,
"offset": 0
}
}

Create Driver

Create a new driver profile. Only name is required.

POST/apidev/v1/fleet/drivers
PermissionAPICLI_FLEET_DRIVERS_WRITE
Rate Limit30 req/min (sliding window)
CacheNone

Request Body

FieldTypeRequiredMax LengthDescription
namestringYes200Driver full name
documentstringNo100Identity document number
document_typenumberNoDocument type identifier
emailstringNo200Email address
phonestringNo50Landline phone number
mobilestringNo50Mobile phone number
statusstringNo10"A" or "I" (default: "A")
driver_type_idstringNo40Driver category identifier
vehicle_idstringNo40Vehicle to assign
supervisor_idstringNo40Supervising driver
external_codestringNo100External integration code
ibuttonstringNo100iButton identification code
pinstringNo20Driver PIN
notesstringNo2000Free-text notes
image_urlstringNo500URL to driver photo
streetstringNo200Street address
street_numberstringNo20Street number
apartmentstringNo20Apartment or unit
cornerstringNo200Cross street
country_idstringNo40Country identifier
department_idstringNo40Department/state identifier
latitudestringNo40Home address latitude
longitudestringNo40Home address longitude
birth_datestringNo20Date of birth (ISO 8601)
hire_datestringNo20Hire date (ISO 8601)
termination_datestringNo20Termination date (ISO 8601)
legal_namestringNo200Legal/business name
tax_idstringNo50Tax identification number

Code Example

curl -s -X POST "https://$TENANT/apidev/v1/fleet/drivers" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
-H "Content-Type: application/json" \
-d '{
"name": "Carlos Martinez",
"document": "12345678",
"document_type": 1,
"email": "carlos@company.com",
"mobile": "+59899654321",
"vehicle_id": "104820579301"
}'

Example Response — 201 Created

{
"success": true,
"data": {
"id": "104820579499"
}
}

Update Driver

Update a driver profile. Only send the fields you want to change. Send null to clear a nullable field.

PUT/apidev/v1/fleet/drivers/{id}
PermissionAPICLI_FLEET_DRIVERS_WRITE
Rate Limit30 req/min (sliding window)
CacheNone

Path Parameters

ParameterTypeRequiredDescription
idstringYesDriver unique identifier

Request Body

All fields from Create Driver are accepted, but none are required. See Partial Updates for the general pattern.

Code Example

curl -s -X PUT "https://$TENANT/apidev/v1/fleet/drivers/104820579455" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
-H "Content-Type: application/json" \
-d '{
"email": "new.email@company.com",
"phone": null,
"vehicle_id": "104820579315"
}'

Example Response

{
"success": true,
"data": {
"id": "104820579455",
"updated_fields": ["email", "phone", "vehicle_id"]
},
"meta": {}
}

Errors

CodeHTTPApplies toDescription
BAD_REQUEST400AllMissing required headers
VALIDATION_ERROR400List, Create, UpdateInvalid params or body (e.g., name missing on create, limit > 100)
UNAUTHORIZED401AllInvalid or expired JWT / API Key
FORBIDDEN403AllUser lacks APICLI_FLEET_DRIVERS_READ or APICLI_FLEET_DRIVERS_WRITE
NOT_FOUND404UpdateDriver ID doesn't exist or doesn't belong to your tenant
RATE_LIMITED429AllExceeded 30 req/min