Developers
Integration API
A read-only JSON API for pulling your compliance data into your own systems: TMS, dashboards, spreadsheets or automation tools. Everything is GET only - the API never changes your data.
Authentication
Create an API key in the app under Settings > Integrations (owners and transport managers only) and send it as a bearer token with every request. The full key is shown once when it is created; revoke it there at any time.
curl https://operatorcompliance.co.uk/api/integration/v1/ping \
-H "Authorization: Bearer oc_live_YOUR_KEY"
Rate limits and pagination
Each key may make 60 requests per minute; over the limit the API answers 429. Lists are paginated with ?page= and ?per_page= (default 50, maximum 100) and wrapped in {data: [...], meta: {current_page, last_page, per_page, total}}.
Errors
Errors are JSON with a message field: 401 for a missing, invalid or revoked key, 404 for a record that does not exist on your account, 429 when the rate limit is hit.
Endpoints
GET /api/integration/v1/ping
Connectivity check: confirms the key works and names the account it belongs to.
Example
{"ok": true, "operator": "Alpha Haulage Ltd", "time": "2026-08-29T10:15:00Z"}
GET /api/integration/v1/drivers
GET /api/integration/v1/drivers/{id}
Your drivers with their compliance dates: status, tachograph card, card downloads, licence status and Driver CPC expiry. Licence numbers and other personal identifiers are never included.
Response fields
id, first_name, last_name, status, employed_from, tacho_card_number, tacho_card_expiry_on, last_card_download_on, next_card_download_due_on, licence_status, licence_valid_to, cpc_expiry_on
GET /api/integration/v1/vehicles
GET /api/integration/v1/vehicles/{id}
Your vehicles and trailers: identity, status, MOT and tax dates, next safety inspection, last vehicle unit download and tachograph calibration due date.
Response fields
id, identifier, display_identifier, vin, make, model, fleet_number, type, status, mot_status, mot_expiry_on, tax_status, tax_due_on, next_si_due_on, last_vu_download_on, next_vu_download_due_on, tacho_calibration_due_on
GET /api/integration/v1/alerts?status=open|all
Compliance alerts. Open alerts by default; add ?status=all to include acknowledged and resolved ones.
Response fields
id, type, severity, status, title, message, due_on, created_at, alertable {type, id, label}
GET /api/integration/v1/tacho-reports
GET /api/integration/v1/tacho-reports/{id}
Tachograph infringement reports per driver and period. The detail endpoint includes each infringement with its date, severity, rule and detail.
Response fields
id, reference, driver {id, name}, period_from, period_to, status, infringement_count, highest_severity, sent_at, signed_at, created_at; detail adds infringements [{date, severity, rule, detail}]
The API only ever returns data belonging to the account the key was created on, and it never returns encrypted personal identifiers such as driving licence numbers or National Insurance numbers.
Ready to stop chasing dates?
Set up in an afternoon. Keep your operator licence clean for good.
14-day free trial · no card · cancel anytime