Credentials

Your Secret Key, provided by your TachoHouse account manager. Required to generate a new API Key.
Sent as the Authorization header on every request. Only valid for 7 days — refresh daily.
New key {{SCGetNewKey.data.apiGenerateNewKey.data.new_api_key}} expires at {{SCGetNewKey.data.apiGenerateNewKey.data.expires_at}}
Customers
Users
Drivers
Infringements
Vehicles
Planning & Compliance
Data Export

Customers

By default lists all active customers.
Also shows the company's depots alongside its customers.
Name ID Address Postcode Status Created
No customers loaded yet — click Run.
{{'GET ' + '/tachohouse/api/integration/customers' + '?incDepots=' + checkboxIncDepots.checked + (selectCustomerStatus.value ? '&status=' + selectCustomerStatus.value : '') + '\nAuthorization: ' + textauth.value}}
{{SCAPIGetCustomers.data.stringify()}}

Drivers

If left blank, defaults to the parent company of the API Key.
If left blank, lists drivers from all depots.
Name Card serial number Customer ID Depot ID Status Latest Activity Risk Score (3x KPI) Created
No drivers loaded yet — enter a customer GUID and click Run.
{{'GET ' + '/tachohouse/api/integration/drivers' + '?customerId=' + textCustGUID.value + '&depotId=' + textDepotID.value + (selectDriverStatus.value ? '&status=' + selectDriverStatus.value : '') + '\nAuthorization: ' + textauth.value}}
{{SCAPIGetDrivers.data.stringify()}}

Infringements

Required. Defaults to the parent company of the API Key.
If left blank, lists infringements for all drivers.
"Open" covers unacknowledged/awaiting-response/disputed/signed-off. "Closed" covers closed-off/auto-closed-off.

Date ranges cannot exceed 90 days — a wider range returns a 422 error.

Infringement ID Date/Time Infringement Band Driver Card serial number Status
No infringements loaded yet — set your filters and click Run.
{{'GET ' + '/tachohouse/api/integration/infringements' + '?customerId=' + textInfCustGUID.value + '&cardSerialNumber=' + textInfDriverCardID.value + (selectOpenOnly.value ? '&status=' + selectOpenOnly.value : '') + '&dateFrom=' + (textDateFrom.value || 'null') + '&dateTo=' + (textDateTo.value || 'null') + '\nAuthorization: ' + textauth.value}}
{{SCAPIInfringements.data.stringify()}}

Full Infringement Details

Required — lists the full detail of this infringement, including every activity in that shift.
Driver
Card serial number
Infringement
Band
Status
Duty start
Duty end
Created
Vehicle Registration(s)
Duty Activity Timeline
Time (UTC) Time (Local) Activity Driver/Co-driver Single Crew Card Status Manual Entry
Comments

This infringement has comments — see the full response below for their shape, since we haven't seen a non-empty example yet to build a proper display for.

No details loaded yet — enter an infringement ID and click Run.

Full response

Every field returned by the API for this infringement, including duty activity changes and registrations, however the endpoint returns them.

{{'GET ' + '/tachohouse/api/integration/infringements/' + textDetailsInfringementID.value + '/details' + '\nAuthorization: ' + textauth.value}}
{{SCAPIInfringementDetails.data.stringify()}}

Sign Off Infringement

Leave Admin ID blank to sign off as the driver (infringement must currently be awaiting-driver-response; only signed-off or disputed are allowed, and driverComment is required if disputing). Provide an Admin ID to act as that admin instead (allows awaiting-driver-response, signed-off, closed-off, or unacknowledged; adminComment is required only when an admin signs off on the driver's behalf).

Optional. Leave blank for a driver-user status change.
disputed/awaiting-driver-response/closed-off/unacknowledged require an Admin ID (driver-only requests may just use signed-off/disputed).
Only required for an admin signing off on the driver's behalf.
Required if a driver is disputing. May also be required for signed-off, depending on the customer's "force comment" setting.
Signed off successfully
{{'POST ' + '/tachohouse/api/integration/infringements/' + textInfringementID.value + '/sign-off' + '\nAuthorization: ' + textauth.value + '\nContent-Type: application/json\n\n{\n  ' + '"status": "' + selectInfStatus.value + '",\n  "adminId": "' + textSignOffAdminID.value + '",\n  "adminComment": "' + textSignOffAdminComment.value + '",\n  "driverComment": "' + textInfComment.value + '"' + '\n}'}}
{{SCSignOffInfringement.data.stringify()}}

Add Customer

{{'POST ' + '/tachohouse/api/integration/customers/add' + '\nAuthorization: ' + textauth.value + '\nContent-Type: application/json\n\n{\n  ' + '"customerName": "' + textAddCustName.value + '",\n  "customerEmail": "' + textAddCustEmail.value + '"' + '\n}'}}
{{SCAddCustomer.data.stringify()}}

Update Customer

{{'POST ' + '/tachohouse/api/integration/customers/' + textUpdateCustGUID.value + '/update' + '\nAuthorization: ' + textauth.value + '\nContent-Type: application/json\n\n{\n  ' + '"status": "' + selectUpdateCustStatus.value + '",\n  "incChildCustomers": ' + checkboxUpdateCustIncChildren.checked + '\n}'}}
{{SCUpdateCustomer.data.stringify()}}

Users

Optional. Fetch users for a particular customer.

Useful for getting admin user GUIDs to use as the Admin ID on the Sign Off pane.

{{'GET ' + '/tachohouse/api/integration/users' + '?customerId=' + textUsersCustGUID.value + '\nAuthorization: ' + textauth.value}}
Name Username / Email Type Head User Status Last Logged On User ID
No users loaded yet — click Run.
{{SCUsers.data.stringify()}}

Driver Details

{{'GET ' + '/tachohouse/api/integration/drivers/' + textDriverDetailsGUID.value + '/details' + '\nAuthorization: ' + textauth.value}}

{{SCDriverDetails.data.apiGetDriverDetails.data.firstNames}} {{SCDriverDetails.data.apiGetDriverDetails.data.surname}}

Status
Date of Birth
Casual / Agency
Supervisor
Address
Postcode
Phone
Email
Created
Created Via
Ignore Data Before
Infringement Rules
File Processing
Latest Card File Process
Latest Vehicle File Process
Latest Data Calculation
Card Data Range
Vehicle Data Range
Driver Cards
Card Serial Number Valid From Valid To Last Download
Driving License

— ()

No details loaded yet — enter a driver GUID and click Run.
{{SCDriverDetails.data.stringify()}}

Driver Duties

{{'GET ' + '/tachohouse/api/integration/drivers/' + textDriverDutiesGUID.value + '/duties' + '\nAuthorization: ' + textauth.value}}
Duty Start Duty End Duty Length
No duties loaded yet — enter a driver GUID and click Run.
{{SCDriverDuties.data.stringify()}}

Driver Duty

{{'GET ' + '/tachohouse/api/integration/drivers/' + textDriverDutyGUID.value + '/duty' + '?activityDate=' + textDriverDutyDate.value + '\nAuthorization: ' + textauth.value}}
Duty Start Duty End Duty Length
No duty data loaded yet — enter a driver GUID and date, then click Run.
Total KM
Daily Driving
Daily Rest
Night Work
Reduced Daily Rest
Split Daily Rest
Increased Drive Count
Reduced Rests Since Weekly
Last Weekly Rest

→ ( mins)

Vehicle First Use Last Use Odo Start Odo End KM
Activity Timeline
From To Activity Duration (mins)
{{SCDriverDuty.data.stringify()}}

Driver Raw Day

{{'GET ' + '/tachohouse/api/integration/drivers/' + textDriverRawDayGUID.value + '/raw-day' + '?activityDate=' + textDriverRawDayDate.value + '\nAuthorization: ' + textauth.value}}
From To Activity Duration (mins)
No activity loaded yet — enter a driver GUID and date, then click Run.
{{SCDriverRawDay.data.stringify()}}

Download History

Optional, must be divisible by 50.
{{'GET ' + '/tachohouse/api/integration/drivers/' + textDriverHistoryGUID.value + '/download-history' + '?offset=' + textDriverHistoryOffset.value + '\nAuthorization: ' + textauth.value}}
{{SCDriverDownloadHistory.data.stringify()}}

Vehicles

{{'GET ' + '/tachohouse/api/integration/vehicles' + '?customerId=' + textVehiclesCustGUID.value + '&depotId=' + textVehiclesDepotGUID.value + '\nAuthorization: ' + textauth.value}}
Registration VIN Customer ID Depot ID Status Created
No vehicles loaded yet — click Run.
{{SCVehicles.data.stringify()}}

Vehicle Details

{{'GET ' + '/tachohouse/api/integration/vehicles/' + textVehicleDetailsGUID.value + '/details' + '\nAuthorization: ' + textauth.value}}

Status
Depot
Vehicle Type
VIN
Previous Registrations
Created
Created Via
Latest File Received
Activity Range
No details loaded yet — enter a vehicle GUID and click Run.
{{SCVehicleDetails.data.stringify()}}

Vehicle Duty

Documented as optional, but leaving both blank currently returns a 422 (likely a >90-day default range). See dev notes.
{{'GET ' + '/tachohouse/api/integration/vehicles/' + textVehicleDutyGUID.value + '/duty' + '?dateFrom=' + textVehicleDutyFrom.value + '&dateTo=' + textVehicleDutyTo.value + '\nAuthorization: ' + textauth.value}}

One row per day of activity (days with no insertion/withdrawal are skipped below, but still in the raw response). If a day ever has more than one driver session, only the first is shown here — check the raw response for the rest.

Date Driver Slot Inserted Odo In Withdrawn Odo Out Duration KM
No duty data loaded yet — enter a vehicle GUID and click Run.
{{SCVehicleDuty.data.stringify()}}

Vehicle Day

{{'GET ' + '/tachohouse/api/integration/vehicles/' + textVehicleDayGUID.value + '/day' + '?activityDate=' + textVehicleDayDate.value + '\nAuthorization: ' + textauth.value}}
Depot
Created
Odometer
Vehicle KM / Driver KM
Missing KM
Driving Without Card
DWC Category
DWC Comment
Driving Without Card — Periods
From To Duration (mins)
Driver Activity
Time Activity Single Crew Card Status Manual Entry
Co-Driver Activity
Time Activity Single Crew Card Status Manual Entry
No activity loaded yet — enter a vehicle GUID and date, then click Run.
{{SCVehicleDay.data.stringify()}}

Planning

Optional sub-customer GUID. If left blank, returns planning for the authenticated requester's own account.
{{'GET ' + '/tachohouse/api/integration/planning' + '?customerId=' + textPlanningCustGUID.value + '\nAuthorization: ' + textauth.value}}
{{SCPlanning.data.stringify()}}

Missing KM

{{'GET ' + '/tachohouse/api/integration/missing-km' + '\nAuthorization: ' + textauth.value}}
{{SCMissingKm.data.stringify()}}

Missing KM (Full)

{{'GET ' + '/tachohouse/api/integration/missing-km/full' + '?vehicleId=' + textMissingKmVehicleID.value + '&activityDate=' + textMissingKmDate.value + '\nAuthorization: ' + textauth.value}}
{{SCMissingKmFull.data.stringify()}}

Acknowledge Missing KM

{{'POST ' + '/tachohouse/api/integration/missing-km/acknowledge' + '?vehicleId=' + textAckVehicleID.value + '&activityDate=' + textAckDate.value + '\nAuthorization: ' + textauth.value + '\nContent-Type: application/json\n\n{\n  ' + '"comment": "' + textAckComment.value + '",\n  "category": "' + selectAckCategory.value + '",\n  "driverId": "' + textAckDriverID.value + '"' + '\n}'}}
{{SCMissingKmAck.data.stringify()}}

Raw Data Download

{{'GET ' + '/tachohouse/api/integration/raw-data/download' + '\nAuthorization: ' + textauth.value}}
{{SCRawDataDownload.data.stringify()}}