ADA Systems API v1

REST API for fleet management integration — vehicles, drivers, devices & live tracking.

Authentication

All API requests require a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
Content-Type: application/json
Contact ADA Systems to obtain your API token. Tokens do not expire but can be revoked at any time.

Base URL

https://adasystems.uk/api/v1

Live Positions

Real-time GPS positions of all tracked vehicles.

GET /positions All vehicle positions

Query Parameters

ParamTypeDescription
company_idinteger optionalFilter by company

Response

{
    "data": [
        {
            "device_id": 22,
            "device_name": "ADA-00001",
            "vehicle_id": 2,
            "registration": "YM69CCU",
            "company_id": 1,
            "company_name": "DYNAMIK APP LTD",
            "latitude": 52.4712,
            "longitude": -2.0178,
            "speed": 45.5,
            "heading": 180.0,
            "ignition": true,
            "online": true,
            "last_seen": "2026-03-19T22:18:56Z",
            "recorded_at": "2026-03-19T22:18:52Z"
        }
    ],
    "count": 1,
    "timestamp": "2026-03-19T22:20:00Z"
}
GET /vehicles/{id}/position Single vehicle position

Returns position data for a specific vehicle by its ID.

Companies

GET /companies List all companies

Query Parameters

ParamTypeDescription
activeboolean optionalFilter active companies only
GET /companies/{id} Get company details

Returns full company details by ID.

POST /companies Create company

Body Parameters

ParamTypeDescription
namestring requiredCompany name
registration_numberstring optionalCompany registration number
vat_numberstring optionalVAT number
addressstring optionalFull address
citystring optionalCity
postcodestring optionalPostcode
countrystring optional2-letter country code (GB, RO, etc.)
phonestring optionalPhone number
emailstring optionalContact email
PUT /companies/{id} Update company

Same parameters as create, all optional. Only provided fields are updated.

DELETE /companies/{id} Delete company

Permanently deletes a company. This action cannot be undone.

Vehicles

GET /vehicles List all vehicles

Query Parameters

ParamTypeDescription
company_idinteger optionalFilter by company
GET /vehicles/{id} Get vehicle details

Returns full vehicle details including assigned device and active drivers.

POST /vehicles Create vehicle

Body Parameters

ParamTypeDescription
registration_numberstring requiredVehicle registration
company_idinteger requiredCompany ID
makestring optionale.g. Ford, Mercedes
modelstring optionale.g. Transit, Sprinter
yearinteger optionalYear of manufacture
vinstring optionalVehicle Identification Number
fuel_typestring optionalpetrol, diesel, electric, hybrid
device_idinteger optionalAssign ADA device
PUT /vehicles/{id} Update vehicle

Same parameters as create, all optional.

DELETE /vehicles/{id} Delete vehicle

Permanently deletes a vehicle. This action cannot be undone.

Drivers

GET /drivers List all drivers

Query Parameters

ParamTypeDescription
company_idinteger optionalFilter by company
POST /drivers Create driver

Body Parameters

ParamTypeDescription
namestring requiredFull name
company_idinteger requiredCompany ID
emailstring optionalEmail address
phonestring optionalPhone number
license_numberstring optionalDriving licence number
license_expiry_datedate optionalLicence expiry (YYYY-MM-DD)
PUT /drivers/{id} Update driver

Same parameters as create, all optional.

DELETE /drivers/{id} Delete driver

Permanently deletes a driver. This action cannot be undone.

Devices

GET /devices List all devices

Query Parameters

ParamTypeDescription
company_idinteger optionalFilter by company
GET /devices/{id} Get device details

Returns device info with assigned vehicle and latest telemetry.

PATCH /devices/{id}/assign Assign device to company/vehicle

Body Parameters

ParamTypeDescription
company_idinteger optionalAssign to company
vehicle_idinteger optionalAssign to vehicle
statusstring optionalSet device status: active or inactive

Error Handling

The API returns standard HTTP status codes:

CodeMeaning
200Success
201Created successfully
401Unauthorized — invalid or missing token
403Forbidden — insufficient permissions
404Resource not found
422Validation error — check the response body for details
500Server error

Validation Error Response

{
    "message": "The registration number field is required.",
    "errors": {
        "registration_number": [
            "The registration number field is required."
        ]
    }
}
Need help? Contact us at support@adasystems.uk