Skip to Content
Welcome to Zendera Knowledge Hub

Drivers API

v1–2

Create, list, update, deactivate, and reactivate drivers, and manage their workdays.

Drivers are fleet master data: who can drive, with which vehicles, skills, and working days. This API lets your HR/fleet system own that data instead of maintaining it twice.

Creating a driver creates a Zendera login. The driver gets a user account (email + password) for the driver app — see the create rules below before wiring up a sync.

Where this fits in your operation

  • Fleet roster sync: your HR or fleet system creates and updates drivers (contact info, vehicles, skills, employment dates) so dispatch always plans with the current roster.
  • Onboard subcontractors: external drivers (is_external + export_orders) are how orders flow into the Orders Export feed for partner carriers.
  • Plan working time: push workdays (driver availability per day) from your scheduling system so the optimizer knows who is on duty.
  • Offboarding: deactivate the driver — their login is disabled for the org and future workdays are removed, while history is kept.

Interactive API Explorer

Loading API Documentation...

Authentication

Authorization: apikey YOUR_API_KEY_HERE

Base URLs

  • Production: https://app.zenderatms.com/api/
  • Staging: https://staging.zenderatms.com/api/

Managing drivers (v1)

List drivers

GET /v1/drivers?loads=Contact,Vehicles&notactive=true

  • loads — relations, comma-separated (PascalCase): Contact, Address, Vehicles, Skills, Groups, DriverCosts, DriverStandardWorkdays, DriverPriority, OvertimePreference.
  • filters — expressions (field=value, also >=, <=, !=, <, >, a|b|c): driver_id, organization_user_id, contact_id, vehicle_id, address_id, commission.
  • notactive=true — include deactivated drivers.

204 No Content when there are none.

Create a driver

POST /v1/drivers

{ "contact": { "first_name": "Anna", "last_name": "Hansen", "email_address": "anna@example.com", "phone_number": "+4712345678" }, "password": "a-strong-password", "internal_driver_number": "DRV-042", "is_external": false, "notification_sms": true }

Rules (enforced by the API):

  • contact.first_name and contact.email_address are required.
  • password is required when the email doesn’t already belong to a Zendera user (and must be strong). If the user exists in another organization, the password is ignored and the existing login is linked to your org instead.
  • The email must not already exist in your organization.
  • The driver is emailed an invitation/notification.

Nested arrays — vehicles, skills, groups, driver_costs, driver_standard_workdays — can be included on create and on update.

Get / update a driver

GET /v1/drivers/{driverID}?loads=Contact,Vehicles PATCH /v1/drivers/{driverID}

PATCH is partial. Sub-resources are managed through the same payload — send the vehicles / skills / groups / driver_costs arrays to update them; there are no separate sub-resource endpoints.

Deactivate / reactivate

DELETE /v1/drivers/{driverID} → soft: driver + org login set inactive, future workdays removed PATCH /v1/drivers/{driverID}/reactivate → re-enables and regenerates upcoming workdays

Both return { "org_user_is_active": ..., "driver_is_active": ... }. The user account itself is never deleted.

Workdays (v2)

A workday is one driver’s availability for one day (start/end time, vehicle).

GET /v2/drivers/{driverID}/workdays?startTime=2026-06-15T00:00:00Z&endTime=2026-06-22T00:00:00Z POST /v2/drivers/{driverID}/workdays PUT /v2/drivers/{driverID}/workdays/{workdayID} DELETE /v2/drivers/{driverID}/workdays/{workdayID}

startTime and endTime (RFC 3339) are required on the list call. Recurring weekly patterns are set via driver_standard_workdays on the driver itself; the v2 endpoints manage concrete per-day workdays.

Common gotchas

  • Driver create = account create. Plan your sync so you don’t accidentally invite people (an email goes out).
  • DELETE deactivates, never deletes. Use notactive=true to see deactivated drivers, and reactivate to bring one back.
  • No sub-resource endpoints. Skills/vehicles/groups/costs are arrays in the driver payload.
  • snake_case JSON on v1 driver endpoints.
  • is_external + export_orders is what routes a driver’s dispatched orders into the external fulfilment feed.
Last updated on