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
statusstringNo—A (active) or I (inactive)
namestringNo—Partial match on driver name or email. Max length 80
documentstringNo—Partial match on document number. Max length 30
driver_groupstringNo—Partial match on driver group name. Max length 80

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
namestringYes40Driver full name
documentstringNo30Identity document number
document_typenumberNo—Document type identifier
emailstringNo100Email address
phonestringNo20Landline phone number
mobilestringNo20Mobile phone number
statusstringNo10"A" or "I" (default: "A")
driver_type_idstringNo40Driver category identifier
vehicle_idstringNo40Vehicle to assign
supervisor_idstringNo40Supervising driver
external_codestringNo20External integration code
ibuttonstringNo40iButton identification code
pinstringNo20Driver PIN
notesstringNo2000Free-text notes
image_urlstringNo500URL to driver photo
streetstringNo200Street address
street_numberstringNo10Street number
apartmentstringNo10Apartment 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_namestringNo60Legal/business name
tax_idstringNo40Tax 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; name and status cannot be null (you get 400 VALIDATION_ERROR). An unknown {id} returns 404 NOT_FOUND even with an empty body.

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.

Five fields accept a different maximum length on update than on create:

FieldMax Length (update)
ibutton100
street_number20
apartment20
legal_name200
tax_id50

All other fields keep the same limits as Create Driver.

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
VALIDATION_ERROR400List, Create, UpdateInvalid params or body (e.g., name missing on create, limit > 100)
UNAUTHORIZED401AllMissing, invalid, or expired tenant / Authorization / X-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