added

Aggregated Driver Performance v2 Webhook

We have now added a v2 Webhook called the Aggregated Driver Performance event.

Why we’re adding this Webhook...

To support new safety behaviors that are naturally aggregated (for example, lane swerving), which consist of multiple sub‑events grouped into a single parent event.

The new parent-level signals — the aggregated flag and sub_event_metadata (max_intensity_event, sub_event_count, and sub_events[]) — provide a first‑class structure to represent those groups in the public API.

Each sub‑event now includes detailed telemetry and optional camera_media, so the complete per‑sub‑event context (timing, speed, headings, media) is available in the same response rather than being implied or omitted.

{
  "id": 1359698678,
  "action": "driver_performance_event_updated",
  "type": "lane_swerving_event",
  "driver_id": 4033173,
  "vehicle_id": 1300181,
  "eld_device_id": 1160458,
  "company_id": 5799,
  "company_name": "FIRSTFLEET INC",

  "start_time": "2025-09-25T08:52:52Z",
  "end_time": "2025-09-25T08:52:58Z",
  "start_speed": 99.0196,
  "end_speed": 101.407005,
  "start_bearing": 130.24654,
  "end_bearing": 126.64,
  "acceleration": 0.0,

  "lat": 37.764701,
  "lon": -122.477367,
  "location": "San Francisco, CA",

  "m_gps_heading": [333.63205, 332.61752, 329.09915],
  "m_gps_lat": [37.764701, 37.764690, 37.764680],
  "m_gps_lon": [-122.477367, -122.477380, -122.477395],
  "m_gps_spd": [64.62766, 64.548744, 64.548744],
  "m_veh_spd": [64.99029, 64.89647, 64.91925],
  "m_veh_odo": null,

  "coaching_status": "coachable",
  "coached_at": null,
  "coachable_behaviors": ["aggregated_lane_swerving"],

  "sub_events": [
    {
      "acceleration": 0.0,
      "end_bearing": 126.64,
      "end_speed": 101.407005,
      "end_time": "2025-09-25T08:52:58Z",
      "lat": 37.764701,
      "lon": -122.477367,
      "m_gps_heading": [333.63205, 332.61752, 329.09915],
      "m_gps_lat": [43.452685, 43.452685, 43.452685],
      "m_gps_lon": [-80.553609, -80.553609, -80.553609],
      "m_veh_odo": [],
      "m_veh_spd": [64.99029, 64.89647, 64.91925],
      "start_bearing": 130.24654,
      "start_speed": 99.0196,
      "start_time": "2025-09-25T08:52:52Z",
      "type": "individual_lane_swerving",
      "m_gps_spd": [64.62766, 64.548744, 64.548744],
      "max_speed": 68.775276,
      "min_speed": 64.49415,
      "camera_media": {
        "id": 4473535,
        "available": true,
        "cam_positions": ["front_facing", "driver_facing"],
        "cam_type": "dc54",
        "uploaded_at": "2025-09-25T09:48:21Z",
        "start_time": "2025-09-25T08:52:52Z",
        "duration": 6,
        "downloadable_images": {
          "driver_facing_jpg_url": null,
          "front_facing_jpg_url": null
        },
        "downloadable_videos": {
          "front_facing_enhanced_url": null,
          "front_facing_enhanced_ai_viz_url": null,
          "dual_facing_enhanced_url": "https://keep-truckin-preview.s3.amazonaws.com/uploads/camera_media/media/2436118/mp4-dual_facing-enhanced-7fa92a01-d7d1a59b",
          "dual_facing_enhanced_ai_viz_url": null,
          "front_facing_plain_url": "https://keep-truckin-preview.s3.amazonaws.com/uploads/camera_media/media/2436118/mp4-front_facing-7fa92a01-38c6-493b-ba3e27aa",
          "driver_facing_plain_url": "https://keep-truckin-preview.s3.amazonaws.com/uploads/camera_media/media/2436118/mp4-driver_facing-7fa92a01-38c6-493b-ba0b-5f3468c90c4a1de1f81e527bbaea69176acd25cce16c0968310"
        },
        "auto_transcode_status": "success"
      }
    }
  ]
}