> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://catena.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://catena.ferndocs.com/_mcp/server.

# Engine log added

POST 

Emitted when a new engine log is added to our database.

e.g. The record fetched from the TSP is new and generated a new record in our database.

Reference: https://catena.ferndocs.com/api-reference/notifications/webhook-events/engine-log-added

## Request

### Payload

- `version` (string, required) — Version of the schema used for this event
- `data` (list of BaseEngineLog, required) — The event payload, with one or more records of the specified type
- `webhook_id` (string, required) — Unique identifier for the webhook subscription that triggered this delivery
- `event_name` (string, optional, default: engine_log.added)
- `timestamp` (datetime, optional, nullable) — ISO 8601 timestamp when the event occurred
- `id` (string, optional, nullable) — Unique identifier for this specific event instance (UUID v7 for time-ordered sorting)
- `delivery_attempt` (integer, optional, default: 0) — The number of times the event has been attempted to be delivered

## Types

### BaseEngineLog

Base class for Engine logs.

- `id` (string, required) — Internal unique identifier for the telematics event record (Catena PK).
- `fleet_id` (string, required) — The Catena fleet this record belongs to (multi-tenant scope).
- `fleet_ref` (string, required, nullable) — The reference of the fleet in the partner system
- `source_name` (enum, required) — The underlying telematics platform that provided this data (e.g., `samsara`, `motive`, `hos247`). Note: Some platforms like `hos247` offer white-labeling, so multiple TSPs may share the same source_name — use `tsp_id` or `tsp_slug` to identify the specific ELD provider.
  - Allowed values: `ada`, `ai_eld`, `air_eld`, `alfa_eld`, `alpha_eld`, `als`, `anytrek_pro`, `anytrek_classic`, `apex_eld`, `apollo`, `apollocloud`, `ascend`, `att`, `awaregps`, `azuga`, `bigroad`, `bluehorse_eld`, `blueinktech`, `bouncie`, `budgetgps`, `catena_simulator`, `captain_eld`, `carrier_lynx`, `chronos`, `club_eld`, `cogo_eld`, `counting_trucks_eld`, `cyntrx`, `digital_eld`, `dragon_eld`, `dreyev`, `drive_hos`, `drive_hos_v2`, `driver_tech`, `dsg_elogs`, `dynamic_eld`, `eighteighteight_eld`, `eld_88`, `eld_books`, `eld_mandate`, `eld_mandate_prime`, `eroad`, `eva_eld`, `evo_eld`, `expressway_eld`, `extreme_eld`, `ezlogz`, `ez_lynk`, `factor_eld`, `firstgate`, `fleetcomplete`, `fleetcompletehub`, `fleethunt`, `fleetpulse`, `fleetsharp`, `fleetup`, `fm`, `fordpro`, `forwardthinking`, `forza_eld`, `geotab`, `gpsinsight`, `gpstab`, `gpstrackit`, `grand_eld`, `greenlight`, `groundhog`, `hcss`, `hos247`, `hutch`, `intellishift`, `ironman_eld`, `isaac`, `jjkeller`, `kinexaiot`, `knight_eld`, `konexial`, `lioneight`, `linxup`, `loop_eld`, `lucid_eld`, `luna_eld`, `lytx`, `lytxv3`, `mapon`, `matrack`, `maven`, `mdm_eld`, `michelin_connected_fleet`, `mobilefleet`, `moonlight_eld`, `motion_eld`, `motive`, `my_drivebook`, `my_logs_eld`, `nero`, `netradyne`, `new_eld_world`, `nextgen_eld`, `nextraq`, `nexus_eld`, `omnitracs`, `1sew_eld`, `onestep`, `ontime_eld`, `optima`, `optimus_tracker`, `orbcomm`, `orient_eld`, `ozod_eld`, `panda_eld`, `patriot_eld`, `payd`, `peak_eld`, `pedigree`, `peoplenet`, `phillips_connect`, `phoenix`, `pop_eld`, `prologs`, `proride_eld`, `qualitylogs_eld`, `randmcnally`, `rastrac`, `raven`, `redfox`, `regulog_eld`, `ridehub`, `rigbot`, `roadeazy`, `roadready`, `rock_eld`, `rollingtrans`, `routemate`, `route_one_eld`, `royal_eld`, `safelane`, `samsara`, `selectivedrive`, `simba_eld`, `skybitz`, `smart_elds`, `sparkle_eld`, `spireon`, `sts_eld`, `sun_eld`, `surfsight`, `swift`, `switchboard`, `synergy_eld`, `teletracnavman`, `teletracnavman_director`, `telogis`, `tenna`, `teslemetry`, `thermo_king`, `think`, `tive`, `topcompliance_eld`, `traccar`, `trackease_eld`, `trackpro`, `traclog`, `transflo`, `trimac`, `trimble`, `truckford`, `truckspy`, `truckx`, `trueroad_eld`, `tt`, `txt_eld`, `us_fast_eld`, `verizon_connect`, `vista_eld`, `vistracks`, `vlog_eld`, `vulcansols_eld`, `wialon`, `webfleet`, `wizefleet_eld`, `xplore_eld`, `zigzag_eld`, `zms_eld`, `zonar`, `zubie`
- `connection_id` (string, required) — The specific fleet↔TSP connection through which this record was sourced.
- `source_id` (string, required) — The ID of the record in the TSP or a deterministic ID/Hash generated from a composite unique key
- `created_at` (datetime, required) — Immutable: first time this record was ingested into our system.
- `updated_at` (datetime, required) — Last time we modified this record in our system.
- `occurred_at` (datetime, required) — When the underlying event/observation occurred, as reported by the TSP, or the moment it was ingested by us if not available.
- `tsp_id` (string, optional, nullable) — Unique identifier of the TSP at Catena Telematics from which this record was ingested.
- `tsp_slug` (string, optional, nullable) — Human readable slug of the TSP at Catena Telematics from which this record was ingested.
- `deleted_at` (datetime, optional, nullable) — Logical delete marker: when the TSP stopped reporting this record.
- `execution_id` (string, optional, nullable) — Identifier for the ingestion execution that processed this record (for tracing).
- `schedule_id` (string, optional, nullable) — Identifier for the ingestion schedule that triggered this record's processing (for tracing).
- `extras` (map from string to any, optional, nullable) — Additional data available in the TSP (e.g., we may have `external_id`, `provider_resource_id`, etc. — this field captures all those extra attributes in a flexible way).
- `vehicle_id` (string, optional, nullable) — Internal vehicle identifier (Catena FK).
- `driver_id` (string, optional, nullable) — Internal driver identifier (Catena FK).
- `co_driver_id` (string, optional, nullable) — Internal co-driver identifier (Catena FK), if present.
- `source_driver_id` (string, optional, nullable) — External source system driver identifier (from the TSP).
- `source_vehicle_id` (string, optional, nullable) — External source system vehicle identifier (from the TSP).
- `source_co_driver_id` (string, optional, nullable) — External source system co-driver identifier (from the TSP).
- `fault_code_source` (enum, optional, nullable) — Source of the engine fault code (e.g., 'OBD2', 'J1939').
  - Allowed values: `J1708`, `J1939`, `OBD2`, `VENDOR`
- `fault_code` (map from string to any, optional, nullable) — Engine fault code as provided by the TSP (e.g., DTC code like 'P0420' will be `{"dtc":"P0420"}`).
- `fault_code_description` (string, optional, nullable) — Description of the engine fault code as provided by the TSP, if available.
- `canonical_code` (enum, optional, nullable) — Canonicalized fault code for normalization across different sources, if available.
  - Allowed values: `ABS_WHEEL_SENSOR_ABNORMAL_RATE_OF_CHANGE`, `ABS_WHEEL_SENSOR_ABNORMAL_UPDATE_RATE`, `ABS_WHEEL_SENSOR_NOT_RESPONDING`, `ABS_WHEEL_SENSOR_SIGNAL_ERRATIC`, `BRAKE_SIGNAL_SENSOR_FAULT`, `BRAKE_SIGNAL_SENSOR_NOT_RESPONDING`, `BRAKE_SWITCH_CIRCUIT`, `AFTERTREATMENT_THERMAL_MGMT_STATUS_HIGH`, `DEF_LINE_HEATER_VOLTAGE_LOW`, `DEF_TANK_HEATER_LOW`, `DPF_OUTLET_PRESSURE_ABNORMAL_RATE_OF_CHANGE`, `DPF_OUTLET_PRESSURE_SIGNAL_ERRATIC`, `EGR_CONTROL_FAULT`, `EGR_VALVE_CONTROL_FAULT`, `NOX_SENSOR_FAULT`, `NOX_SENSOR_OUTLET_FAULT`, `SCR_CONVERSION_EFFICIENCY_LOW`, `AUX_EQUIP_SUPPLY_PRESSURE_VOLTAGE_LOW`, `TRANS_AIR_TANK_PRESSURE_LOW`, `CRANK_ENABLE_CIRCUIT_HIGH`, `CRANK_ENABLE_CIRCUIT_LOW`, `CRANKCASE_BREATHER_OIL_SEPARATOR_SPEED_LOW`, `CRANKCASE_BREATHER_SPEED_LOW`, `CRANKCASE_VENT_HOSE_DISCONNECTED`, `DIAGNOSTIC_ABNORMAL_UPDATE_RATE`, `DIAGNOSTIC_SPECIAL_INSTRUCTION`, `ECU_INTELLIGENT_DEVICE_FAILURE`, `J1939_PARAMETER_DATA_ERROR`, `OEM_MANUFACTURER_ASSIGNABLE`, `ENG_COOLANT_TEMP_HIGH`, `ENG_COOLANT_TEMP_LOW`, `ENG_FUEL_PRESSURE_HIGH`, `ENG_FUEL_PRESSURE_LOW`, `ENG_FUEL_PRESSURE_SIGNAL_ERRATIC`, `ENG_FUEL_PUMP_CURRENT_LOW`, `ENG_MAP_HIGH`, `ENG_MAP_LOW`, `ENG_MAP_SIGNAL_ERRATIC`, `ENG_MAP_VOLTAGE_HIGH`, `ENG_OIL_PRESSURE_HIGH`, `ENG_OIL_PRESSURE_LOW`, `ENG_OIL_TEMP_HIGH`, `ENG_OIL_TEMP_LOW`, `ENG_OVERSPEED`, `ENG_SPEED_CIRCUIT_FAULT`, `ENG_SPEED_NO_SIGNAL`, `ENG_SPEED_SIGNAL_ERRATIC`, `ENG_THROTTLE_HIGH`, `ENG_THROTTLE_LOW`, `ENG_THROTTLE_SIGNAL_ERRATIC`, `ENG_WATER_IN_FUEL`, `GEAR_MODULE_CALIBRATION_INVALID`, `GEAR_MODULE_NO_SIGNAL`, `GEAR_MODULE_SIGNAL_ERRATIC`, `J1939_NETWORK_SIGNAL_ERRATIC`, `RETARDER_OIL_TEMP_HIGH`, `RETARDER_OIL_TEMP_LOW`, `RETARDER_OIL_TEMP_OVER_TEMP`, `RETARDER_PRESSURE_HIGH`, `RETARDER_PRESSURE_LOW`, `TIRE_LOCATION_DEVICE_FAILURE`, `TIRE_PRESSURE_LOW_MODERATE`, `TIRE_PRESSURE_LOW_SEVERE`, `TIRE_SENSOR_VOLTAGE_LOW`, `TPMS_TIRE_LOCATION_DEVICE_FAILURE`, `TPMS_TIRE_PRESSURE_LOW_MODERATE`, `TPMS_TIRE_PRESSURE_LOW_SEVERE`, `TPMS_TIRE_SENSOR_VOLTAGE_LOW`, `TRANS_CONTROL_SYSTEM_PERFORMANCE`, `TRANS_FILTER_MAINTENANCE_ALERT`, `TRANS_FILTER_MAINTENANCE_REQUIRED`, `TRANS_FLUID_DETERIORATED`, `TRANS_FLUID_LEVEL_HIGH`, `TRANS_FLUID_LEVEL_LOW`, `TRANS_FLUID_OVER_TEMP`, `TRANS_FLUID_TEMP_HIGH`, `TRANS_FLUID_TEMP_LOW`, `TRANS_FLUID_TEMP_SIGNAL_ERRATIC`, `VEH_SPEED_SIGNAL_ERRATIC`
- `status` (enum, optional, nullable) — Status of the fault code (e.g., 'active', 'inactive'), if available.
  - Allowed values: `active`, `inactive`, `paused`, `expired`, `cancelled`, `pending`, `deleted`, `stale`, `success`, `failed`, `scheduled`, `accepted`, `declined`
- `engine_status` (boolean, optional, nullable) — Indicates whether the engine is currently on (true) or off (false), if available.
- `mil_status` (boolean, optional, nullable) — Indicates whether the Malfunction Indicator Lamp (MIL) is on (true) or off (false), if available.