TerraGo API

Fleet Logs

Vehicle operations records used for cost and efficiency reporting: fuel logs and maintenance logs captured per fleet vehicle.

8 endpoint(s)

Fuel Log

GET List Fuel Logs Fuel Log {{url}}/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs

Retrieve a paginated list of fuel purchase logs for a vehicle/fleet.

Path Parameters

  • fleetId (string UUID, required): The vehicle's the registry zone/location UUID.

Query Parameters

  • per_page (integer, optional, default 10, max 20)
  • search (string, optional): Matches provider, date, cost, or volume.

Response

List of fuel-log entries (data) for the vehicle.

Auth
Bearer token
Used On
Sample Response (200 OK)
{
    "data": [
        {
            "id": "ade50c58-b99e-4f00-b1ec-7e6807de47fd",
            "date": "25/03/2026",
            "provider": "Shell",
            "volume": "45.50",
            "odometer": "125,430",
            "cost": "7,200.000",
            "waas_zone_uuid": "e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64",
            "waas_zone_name": "Mike Car",
            "created_at": "2026-03-26 07:15:38",
            "updated_at": "2026-03-26 07:15:38"
        },
        {
            "id": "0472736d-087e-4d16-87c6-3c9d9ce85d41",
            "date": "25/03/2026",
            "provider": "Shell",
            "volume": "45.50",
            "odometer": "125,430",
            "cost": "7,200.000",
            "waas_zone_uuid": "e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64",
            "waas_zone_name": "Mike Car",
            "created_at": "2026-03-26 07:21:49",
            "updated_at": "2026-03-26 07:21:49"
        },
        {
            "id": "c0555a24-b1a2-41c4-ad05-fb40667b37ba",
            "date": "24/03/2026",
            "provider": "TotalEnergies",
            "volume": "30.00",
            "odometer": "125,000",
            "cost": "4,800.000",
            "waas_zone_uuid": "e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64",
            "waas_zone_name": "Mike Car",
            "created_at": "2026-03-26 07:15:11",
            "updated_at": "2026-03-26 07:15:11"
        }
    ],
    "links": {
        "first": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs?page=1",
        "last": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs",
        "per_page": 15,
        "to": 3,
        "total": 3
    },
    "status": 200,
    "message": "Fuel Logs Retrieved Successfully"
}
POST Create Fuel Log Fuel Log {{url}}/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs

Record a fuel purchase for a vehicle.

Path Parameters

  • fleetId (string UUID, required): The vehicle's the registry zone/location UUID.

Request Body

  • date (date, required, format Y-m-d)
  • provider (string, required): Fuel station/vendor.
  • volume (number, required): Litres purchased.
  • odometer (number, required): Odometer reading at time of fill-up (used to compute fuel efficiency between logs).
  • cost (number, required, min 0)

Response

The created fuel log (data).

Auth
Bearer token
Request Body
{
    "date": "2026-03-25",  // Date (YYYY-MM-DD)
    "provider": "Shell",  // Mobile network / airtime provider
    "waas_zone_name": "Mike Car",  // Zone/location display name
    "volume": 45.5,  // Fuel volume in litres
    "odometer": 125430,  // Odometer reading (km)
    "cost": 7200  // Cost in KES
}
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "id": "6d558571-7771-4440-a004-c4eca42323ce",
        "date": "25/03/2026",
        "provider": "Shell",
        "volume": "45.50",
        "odometer": "125,430",
        "cost": "7,200.000",
        "waas_zone_uuid": "e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64",
        "waas_zone_name": "Mike Car",
        "created_at": "2026-03-26 08:23:41",
        "updated_at": "2026-03-26 08:23:41"
    },
    "message": "Fuel Log Created Successfully"
}
PUT Update Fuel Log Fuel Log {{url}}/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/fuel-logs/ade50c58-b99e-4f00-b1ec-7e6807de47fd

Update an existing fuel log entry.

Path Parameters

  • fleetId (string UUID, required)
  • id (string UUID, required): Fuel log UUID.

Request Body

  • date (date, required, format Y-m-d)
  • provider (string, required)
  • volume (number, required)
  • odometer (number, required)
  • cost (number, required)

Response

The updated fuel log (data).

Auth
Bearer token
Request Body
{
    "date": "2026-03-25",  // Date (YYYY-MM-DD)
    "provider": "Shell",  // Mobile network / airtime provider
    "volume": 45.5,  // Fuel volume in litres
    "odometer": 125430,  // Odometer reading (km)
    "cost": 7200  // Cost in KES
}

Maintenance

GET List Maintenance Logs Maintenance {{url}}/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/maintenance-logs

Retrieve a paginated list of vehicle maintenance/service logs for a fleet.

Path Parameters

  • fleetId (string UUID, required): The vehicle's the registry zone/location UUID.

Query Parameters

  • per_page (integer, optional, default 10, max 20)
  • search (string, optional): Matches provider, type, description, date, or cost.

Response

List of maintenance-log entries (data) for the vehicle.

Auth
Bearer token
Used On
Sample Response (200 OK)
{
    "data": [
        {
            "id": "85123307-6dd2-4314-959c-df3c319d897a",
            "date": "25/03/2026",
            "provider": "Toyota Service Center",
            "type": "SERVICE",
            "description": "Full vehicle servicing and oil change",
            "cost": "8,500.000",
            "waas_zone_uuid": "e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64",
            "waas_zone_name": "Mike Car",
            "created_at": "2026-03-26 07:22:16",
            "updated_at": "2026-03-26 07:22:16"
        }
    ],
    "links": {
        "first": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/maintenance-logs?page=1",
        "last": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/maintenance-logs?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/maintenance-logs?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "https://terragostg.terrasofthq.com/api/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/maintenance-logs",
        "per_page": 15,
        "to": 1,
        "total": 1
    },
    "status": 200,
    "message": "Maintenance Logs Retrieved Successfully"
}
POST Create Maintenance Log Maintenance {{url}}/fleets/e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64/maintenance-logs

Record a maintenance/service event for a vehicle.

Path Parameters

  • fleetId (string UUID, required): The vehicle's the registry zone/location UUID.

Request Body

  • date (date, required, format Y-m-d)
  • provider (string, required): Garage/mechanic.
  • type (string, required): Maintenance category (see MaintenanceLog::TYPE).
  • description (string, optional)
  • cost (number, required, min 0)

Notes

  • Used by the Fleet Reports "next service" prediction (roughly last service + 3 months).

Response

The created maintenance log (data).

Auth
Bearer token
Request Body
{
    "date": "2026-03-25",
    "waas_zone_name": "Mike Car",
    "provider": "Toyota Service Center",
    "type": "SERVICE", // SERVICE, REPAIR, INSPECTION, OTHER
    "description": "Full vehicle servicing and oil change",
    "cost": 8500
}
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "id": "3f2e4909-d516-4eb1-80db-f9879015fa1d",
        "date": "25/03/2026",
        "provider": "Toyota Service Center",
        "type": "SERVICE",
        "description": "Full vehicle servicing and oil change",
        "cost": "8,500.000",
        "waas_zone_uuid": "e3e9e95d-c4e1-4b54-9fc2-d54e2b077d64",
        "waas_zone_name": "Mike Car",
        "created_at": "2026-03-26 08:24:46",
        "updated_at": "2026-03-26 08:24:46"
    },
    "message": "Maintenance Log Created Successfully"
}
GET List Fleet Trip Types {{url}}/fleets/55ea49ca-186d-4b34-bdb3-5ef3c8333f22/trip-types

List the distinct trip types/labels configured for a fleet vehicle (e.g. "Evening Trip"), used to populate trip-type choices on the fleet/vehicle profile.

Path Parameters

  • fleetId (string UUID, required): the fleet vehicle UUID.

Response

Standard envelope; data is an array of trip-type labels — empty [] when none are configured.

Requires a bearer token (auth:api).

Auth
Bearer token
Used On
Sample Response (200 OK)
{
    "status": 200,
    "data": [
        "Evening Trip"
    ],
    "message": "Trip types retrieved successfully"
}
GET Get Fleet Utilization {{url}}/fleets/08bbdda3-00a6-4aac-9f54-a8465eca3504/fleet-utilization?group_by=daily

Fleet utilization figures for a vehicle, grouped by a time bucket.

Path Parameters

  • fleetId (string UUID, required).

Query Parameters

  • group_by (string, required): one of daily, weekly, monthly, yearly, or custom.

Response

Standard envelope; data is the utilization series for the chosen grouping.

Requires a bearer token (auth:api).

Auth
Bearer token
Used On
GET Get Fleet Stats {{url}}/fleets/08bbdda3-00a6-4aac-9f54-a8465eca3504/stats?capacity=10&consumption=500

Fleet KPI summary for a vehicle — month-to-date costs, fuel efficiency, capacity, utilization, next service and log counts.

Path Parameters

  • fleetId (string UUID, required).

Query Parameters

  • capacity (integer): the vehicle's rated passenger capacity (used to compute avgutilization / vehiclecapacity).
  • consumption (integer): the vehicle's rated fuel consumption (the baseline for fuel_efficiency.rated).

Response

Standard envelope; data includes totalcostsmtd, fuelcostmtd, maintenancecostmtd, fuelefficiency {rated, actual}, vehiclecapacity, avgutilization, nextservice (+ nextservicebasedon), totalfuellogs, totalmaintenance_logs.

Requires a bearer token (auth:api).

Auth
Bearer token
Used On
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "total_costs_mtd": 0,
        "fuel_cost_mtd": 0,
        "maintenance_cost_mtd": 0,
        "fuel_efficiency": {
            "rated": 500,
            "actual": null
        },
        "vehicle_capacity": 10,
        "avg_utilization": 17.9,
        "next_service": null,
        "next_service_based_on": null,
        "total_fuel_logs": 0,
        "total_maintenance_logs": 0
    },
    "message": "Fleet stats retrieved successfully"
}