To enable API access from another program, you'll need to use an "Access Token". The API (Application Programming Interface) allows the other program to communicate with your DriverSchedule.com account.
Go to Company Settings -> API and Generate an "Access Token"
Always expect a 200 response status code, even when errors get returned.
Example error:
{
"status": "error",
"message": "Invalid Request (401)"
}
Get Driver Availability:
https://www.driverschedule.com/api/v2/schedule
Parameters
- startdate: required - ex: "2/17/2025" or "2025-02-17T00:00:00"
- enddate: optional - ex: "2/23/2025" or "2025-02-23T00:00:00"
- driverid: optional - employee number on driver record in driver schedule
curl --request GET \
--url https://www.driverschedule.com/api/v2/schedule \
--header 'accesstoken: [access_token]' \
--data 'startdate=2025-02-17T00:00:00&enddate=2025-02-24T00:00:00'
JSON response:
{
"status": "success" or "error",
"message": string - empty if status is success, otherwise this will be the error message,
"driver": [
{
"id": string (employee number on driver record in driver schedule),
"firstname": string,
"lastname": string,
"time": [
{
"start": datetime,
"end": datetime,
"shiftId": int (driver schedule internal id. may be null),
"shiftName": string (name of shift in driver schedule. may be null),
"timeZone": string (name of timezone associted with the location in driver schedule. may be null) ex: "(UTC-05:00) Eastern Time (US & Canada)"
}
]
}
]
}
Update Driver Availability:
https://www.driverschedule.com/api/v2/schedule
curl --request POST \
--url https://www.driverschedule.com/api/v2/schedule \
--header 'accesstoken: [access_token]' \
--header 'Content-Type: application/json' \
--data '[JSON data]' \
Sample JSON Body:
{
"startDate": "2025-02-17T00:00:00", /* (required) */
"endDate": "2025-02-24T00:00:00", /* (required) */
"driver": [
{
"id": "123456", /* (employee number on driver record in driver schedule - required) */
"time": [
{
"start": "2025-02-17T08:00:00",
"end": "2025-02-17T20:00:00",
"shiftId": 8 /* (driver schedule internal id. optional) */
}
]
}
]
}
List Service Locations:
https://www.driverschedule.com/api/v2/servicelocations
curl --request GET \
--url https://www.driverschedule.com/api/v2/servicelocations \
--header 'accesstoken: [access_token]' \
JSON response:
{
"status": "success",
"message": "",
"serviceLocations": [
{
"id": 6,
"name": "Hartford & New Haven",
"shortName": "Main",
"address": "200 Addison Road, Windsor, CT 06095, USA",
"timeZone": "(UTC-05:00) Eastern Time (US & Canada)"
},
{
"id": 52,
"name": "Los Angeles",
"shortName": "LA",
"address": "1 Westwood Blvd, Los Angeles, Los Angeles, CA, USA",
"timeZone": "(UTC-08:00) Baja California"
},
{
"id": 8,
"name": "New York",
"shortName": "NY",
"address": "1 E 161st St, Bronx, NY 10451",
"timeZone": "(UTC-05:00) Eastern Time (US & Canada)"
}
]
}
Get Shift Schedule Capacity:
https://www.driverschedule.com/api/v2/shiftschedulecapacity
Parameters
- startdate: required - ex: "2/17/2025" or "2025-02-17T00:00:00"
- enddate: required - ex: "2/23/2025" or "2025-02-23T00:00:00"
curl --request GET \
--url https://www.driverschedule.com/api/v2/shiftschedulecapacity \
--header 'accesstoken: [access_token]' \
--data 'startdate=2025-02-17T00:00:00&enddate=2025-02-24T00:00:00'
JSON response:
{
"status": "success",
"message": "",
"locations": [
{
"id": 1,
"name": "Hartford & New Haven",
"shifts": [
{
"id": 2,
"name": "All Hours",
"dates": [
{
"date": "2022-08-01T00:00:00",
"categoryId": 9,
"categoryName": "Category 1",
"capacity": 10,
"taken": 8
},
{
"date": "2022-08-01T00:00:00",
"categoryId": 11,
"categoryName": "Category 2",
"capacity": 1,
"taken": 0
},
{
"date": "2022-08-01T00:00:00",
"categoryId": 10,
"categoryName": "Category 3",
"capacity": 0,
"taken": 0
},
{
"date": "2022-08-01T00:00:00",
"categoryId": 12,
"categoryName": "Category 4",
"capacity": 0,
"taken": 0
}
]
}
]
}
]
}
Get Appointments:
https://www.driverschedule.com/api/v2/appointments
Parameters
- startdate: required - ex: "2/17/2025" or "2025-02-17T00:00:00"
- enddate: optional - ex: "2/23/2025" or "2025-02-23T00:00:00"
- modifieddate: optional - ex: "2/23/2025" or "2025-02-23T00:00:00"
- vehicleid: optional - ex: 83 - Internal Driver Schedule ID (get appointments by vehicle)
- vehicleexternalid: optional - ex: "ABC1234" - Vehicle External ID (get appointments by vehicle - if vehicleid is passed in, this parameter is ignored)
curl --request GET \
--url https://www.driverschedule.com/api/v2/appointments \
--header 'accesstoken: [access_token]' \
--data 'startdate=2025-02-17T00:00:00&enddate=2025-02-24T00:00:00'
JSON response:
{
"status": "success",
"message": "",
"appointments": [
{
"id": 49361,
"title": "",
"startdate": "2020-12-23T07:00:00",
"enddate": "2020-12-23T15:00:00",
"notes": "",
"staffNotes": "",
"originAddress": "4800 E 7th St Austin, TX 78702",
"status": "Incomplete",
"type": "Road Test - Auto Fleet",
"reportTime": 30,
"dwellTime": 12,
"blockTime": 12,
"duration": 480,
"createDate": "2020-12-23T07:00:00",
"createdByUser": "Michael Lindsey",
"modifiedDate": "2020-12-23T07:00:00",
"modifiedByUser": "Michael Lindsey",
"stops": [
{
"address": "1098 North Colony Road Wallingford, CT 06492",
"arrivalTime": "2019-09-27T11:00:00",
"estimatedArrivalTime": "2019-09-27T11:00:00",
"duration": 75,
"description": "",
"notes": "",
"phone": "555-555-5555",
"driverNotes": "",
"price": 59.99,
"allowPhotos": true,
"requireSignature": false,
"checklist": "name of checklist",
"customer": {
"firstName": "",
"lastName": "",
"company": "Chick-fil-A",
"email": "info@driverschedule.com",
"workPhone": "203-555-5555",
"mobilePhone": "",
"homePhone": "",
"notes": ""
}
}
],
"drivers": [
{
"firstName": "Freddy",
"lastName": "Cerritos"
},
{
"firstName": "Carlos",
"lastName": "Renova"
}
],
"vehicles": [
{
"make": "FORD",
"model": "VAN",
"plateNumber": "",
"color": "",
"year": 2020,
"id": "1234"
}
]
}
]
}
List Vehicles:
https://www.driverschedule.com/api/v2/vehicles
curl --request GET \
--url https://www.driverschedule.com/api/v2/vehicles \
--header 'accesstoken: [access_token]' \
JSON response:
{
"status": "success",
"message": "",
"vehicles": [
{
"id": 83,
"vin": "456465432112",
"make": "Cadillac",
"model": "ESV",
"year": 2015,
"color": "Black",
"plateNumber": "L6751LLL",
"vehicleNumber": "1234",
"externalID": "2323423",
"type": "SUV",
"fuelEconomy": 15.0,
"fuelEconomyUnit": "mpg",
"odometer": 500,
"odometerUnit": "m",
"purchaseDate": "2022-04-01T00:00:00",
"notes": "",
"enabled": true,
"attributes": [
"diesel",
"8-cylinder",
"4wd"
],
"locations": [
"Hartford & New Haven",
"New York"
],
"expireDates": [
{
"name": "Bumper-to-bumper",
"expireDate": "2024-05-27T00:00:00",
"warranty": true,
"expireMiles": 60000
},
{
"name": "license",
"expireDate": "2020-03-12T00:00:00",
"warranty": false,
"expireMiles": null
}
]
}
]
}
Get Single Vehicle:
https://www.driverschedule.com/api/v2/vehicles/{id}
curl --request GET \
--url https://www.driverschedule.com/api/v2/vehicles/{id} \
--header 'accesstoken: [access_token]' \
JSON response:
{
"status": "success",
"message": "",
"vehicles": [
{
"id": 83,
"vin": "456465432112",
"make": "Cadillac",
"model": "ESV",
"year": 2015,
"color": "Black",
"plateNumber": "L6751LLL",
"vehicleNumber": "1234",
"externalID": "2323423",
"type": "SUV",
"fuelEconomy": 15.0,
"fuelEconomyUnit": "mpg",
"odometer": 500,
"odometerUnit": "m",
"purchaseDate": "2022-04-01T00:00:00",
"notes": "",
"enabled": true,
"attributes": [
"diesel",
"8-cylinder",
"4wd"
],
"locations": [
"Hartford & New Haven",
"New York"
],
"expireDates": [
{
"name": "Bumper-to-bumper",
"expireDate": "2024-05-27T00:00:00",
"warranty": true,
"expireMiles": 60000
},
{
"name": "license",
"expireDate": "2020-03-12T00:00:00",
"warranty": false,
"expireMiles": null
}
]
}
]
}
Create Vehicle(s):
https://www.driverschedule.com/api/v2/vehicles
curl --request POST \
--url https://www.driverschedule.com/api/v2/vehicles \
--header 'accesstoken: [access_token]' \
--header 'Content-Type: application/json' \
--data '[JSON data]' \
Sample JSON Body:
[
{
"vin": "456465432112",
"make": "Cadillac", /* (one of make, model, plateNumber, vehicleNumer is required) */
"model": "ESV",
"year": 2015, /* integer */
"color": "Black",
"plateNumber": "L6751LLL",
"vehicleNumber": "",
"externalID": "2323423",
"type": "SUV", /* (required - must match vehicle type in driver schedule) */
"fuelEconomy": 15.0, /* decimal */
"fuelEconomyUnit": "mpg", /* ('mpg' or 'kpl') */
"odometer": 500, /* integer */
"odometerUnit": "m", /* ('m', 'k', or 'h') */
"purchaseDate": "2020-03-12T00:00:00",
"notes": "",
"enabled": true,
"attributes": [
"diesel",
"8-cylinder",
"4wd"
], /* (each name must match attribute name in driver schedule) */
"locations": [
"Hartford & New Haven",
"New York"
], /* (each name must match service location name in driver schedule) */
"expireDates": [
{
"name": "Bumper-to-bumper",
"expireDate": "2024-05-27T00:00:00",
"warranty": true,
"expireMiles": 60000 /* integer */
},
{
"name": "license",
"expireDate": "2020-03-12T00:00:00",
"warranty": false,
"expireMiles": null
}
]
}
]
Update Vehicle:
https://www.driverschedule.com/api/v2/vehicles/{id}
curl --request PATCH \
--url https://www.driverschedule.com/api/v2/vehicles/{id} \
--header 'accesstoken: [access_token]' \
--header 'Content-Type: application/json' \
--data '[JSON data]' \
Sample JSON Body:
{
"vin": "456465432112",
"make": "Cadillac",
"model": "ESV",
"year": 2015, /* integer */
"color": "Black",
"plateNumber": "L6751LLL",
"vehicleNumber": "",
"externalID": "2323423",
"type": "SUV",
"fuelEconomy": 15.0, /* decimal */
"fuelEconomyUnit": "mpg", /* ('mpg' or 'kpl') */
"odometer": 500, /* integer */
"odometerUnit": "m", /* ('m', 'k', or 'h') */
"purchaseDate": "2020-03-12T00:00:00",
"notes": "",
"enabled": true,
"attributes": [
"diesel",
"8-cylinder",
"4wd"
],
"locations": [
"Hartford & New Haven",
"New York"
],
"expireDates": [
{
"name": "Bumper-to-bumper",
"expireDate": "2024-05-27T00:00:00",
"warranty": true,
"expireMiles": 60000 /* integer */
},
{
"name": "license",
"expireDate": "2020-03-12T00:00:00",
"warranty": false,
"expireMiles": null
}
]
}
Delete Vehicle:
https://www.driverschedule.com/api/v2/vehicles/{id}
curl --request DELETE \
--url https://www.driverschedule.com/api/v2/vehicles/{id} \
--header 'accesstoken: [access_token]' \
JSON response:
{
"status": "success",
"message": ""
}
List Vehicle Types:
https://www.driverschedule.com/api/v2/vehicletypes
curl --request GET \
--url https://www.driverschedule.com/api/v2/vehicletypes \
--header 'accesstoken: [access_token]' \
JSON response:
{
"status": "success",
"message": "",
"vehicleTypes": [
{
"id": 3,
"name": "Sedan",
"passengerCapacity": 3
},
{
"id": 383,
"name": "Truck",
"passengerCapacity": 2
}
]
}
List Vehicle Attributes:
https://www.driverschedule.com/api/v2/vehicleattributes
curl --request GET \
--url https://www.driverschedule.com/api/v2/vehicleattributes \
--header 'accesstoken: [access_token]' \
JSON response:
{
"status": "success",
"message": "",
"vehicleAttributes": [
{
"id": 5,
"name": "18 Wheeler"
},
{
"id": 3,
"name": "4-door"
}
]
}