> 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.

# Dvir log added

POST 

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

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

## Request

### Payload

- `version` (string, required) — Version of the schema used for this event
- `data` (list of BaseDvirLog, 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: dvir_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

### BaseDvirLog

Base class for DVIR 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.
- `driver_id` (string, optional, nullable) — Internal driver identifier.
- `trailer_id` (string, optional, nullable) — Internal trailer identifier.
- `source_driver_id` (string, optional, nullable) — Source system driver identifier.
- `source_vehicle_id` (string, optional, nullable) — Source system vehicle identifier.
- `source_trailer_id` (string, optional, nullable) — Source system trailer identifier.
- `log_type` (enum, optional, nullable) — Type of DVIR log.
  - Allowed values: `pre_trip`, `post_trip`, `mechanic`, `unknown`
- `status` (enum, optional, nullable) — Log level defects summary status.
  - Allowed values: `no_defect`, `defect_noted`, `defect_corrected`
- `authority_name` (string, optional, nullable) — Name of the authority conducting or receiving the inspection, if applicable.
- `authority_address` (string, optional, nullable) — Address of the authority conducting or receiving the inspection, if applicable.
- `duration_seconds` (double, optional, nullable) — Duration of the inspection in seconds, if available.
- `odometer_km` (double, optional, nullable) — Vehicle odometer reading in kilometers at the time of the DVIR (to be deprecated).
- `odometer` (double, optional, nullable) — Vehicle odometer reading in meters at the time of the DVIR.
- `engine_hours` (double, optional, nullable) — Total engine hours recorded at the time of the DVIR.
- `location` (Point, optional, nullable) — Location encoded as GeoJSON Point.
- `h3_index_11` (long, optional, nullable)
- `inspected_by` (string, optional, nullable) — Name of the inspector conducting the DVIR.
- `certify_comment` (string, optional, nullable) — Driver's certification comment acknowledging the inspection.
- `certified_by` (string, optional, nullable) — Identifier for the individual who certified the DVIR
- `certify_date` (datetime, optional, nullable) — Datetime when the DVIR was certified
- `driver_comment` (string, optional, nullable) — Additional free-text comments provided by the driver.
- `defect_count` (integer, optional, nullable) — Total number of defects reported in this DVIR log.
- `version` (string, optional, nullable) — Version identifier of the DVIR log record for tracking updates.
- `defects` (list of enum, optional, nullable) — List of defects reported in this DVIR log.
  - Allowed values: `fluid_levels`, `battery`, `belts_hoses`, `radiator`, `frame_assembly`, `front_axle`, `starter`, `transmission`, `oil_pressure`, `defroster_heater`, `lights_front`, `windshield_clean`, `windshield_wiper_fluid`, `windshield_wipers`, `brakes`, `brake_check`, `clutch`, `mirrors`, `horn`, `safety_equipment`, `trip_recorder`, `air_conditioner`, `doors`, `stop_arm_control`, `steering_wheel`, `emergency_door_buzzer`, `entrance_steps`, `interior_floor`, `windows`, `exhaust`, `fifth_wheel`, `landing_gear`, `suspension`, `alignment`, `rims`, `tires`, `tire_chains`, `stop_arm`, `muffler`, `roof`, `wheels`, `wheels_rims`, `suspension_under`, `scratches`, `air_compressor`, `air_lines`, `brake_connections`, `coupling_devices`, `reflectors`, `lights_rear`, `rear_end`, `tire_chains_rear`, `brake_accessories`, `drive_line`, `engine`, `fuel_tanks`, `lights_general`, `other`, `unset`, `first_aid_kit`
- `defects_detail` (list of DvirDefectDetail, optional, nullable) — Detailed defect entries with part and defect information.
- `is_safety_critical` (boolean, optional, nullable) — Indicates whether the DVIR log is safety-critical.

### Point

Point Model

- `type` ("Point", required)
- `coordinates` (PointCoordinates, required)
- `bbox` (PointBbox, optional, nullable)

### DvirDefectDetail

Structured DVIR defect detail shared across services.

- `part` (enum, optional, nullable) — Enum for canonical DVIR inspectable parts and assemblies.
  - Allowed values: `other`, `unset`, `fluid_levels`, `battery`, `belts_hoses`, `radiator`, `frame_assembly`, `front_axle`, `starter`, `transmission`, `oil_pressure`, `defroster_heater`, `windshield_clean`, `windshield_wiper_fluid`, `windshield_wipers`, `brakes`, `parking_brakes`, `service_brakes`, `brake_check`, `brake_accessories`, `brake_connections`, `air_compressor`, `air_lines`, `air_conditioner`, `clutch`, `horn`, `mirrors`, `trip_recorder`, `doors`, `windows`, `interior_floor`, `entrance_steps`, `steering`, `steering_wheel`, `emergency_equipment`, `safety_equipment`, `first_aid_kit`, `emergency_door_buzzer`, `stop_arm`, `stop_arm_control`, `lights`, `lights_front`, `lights_rear`, `lights_and_reflectors`, `reflectors`, `exhaust`, `fifth_wheel`, `coupling_devices`, `landing_gear`, `suspension`, `suspension_under`, `alignment`, `rims`, `tires`, `tire_chains`, `tire_chains_rear`, `muffler`, `roof`, `wheels`, `wheels_rims`, `rear_end`, `drive_line`, `engine`, `fuel_tanks`, `scratches`
- `defect` (enum, optional, nullable) — Enum for canonical DVIR defect details.
  - Allowed values: `air_compressor_not_working`, `bent_cracked_or_damaged`, `binds_or_grabs`, `broken_or_cracked`, `bulging_or_swelling`, `chatters_shudders_or_vibrates`, `cracked_or_broken`, `dragging`, `drifts_or_pulls_left`, `drifts_or_pulls_right`, `fifth_wheel_cracked_or_damaged`, `fire_extinguisher_missing`, `fire_extinguisher_not_charged`, `flags_or_flares_missing`, `flat_or_leaking_air`, `fluid_level_improper`, `handle_loose_or_missing`, `improper_spraying`, `improper_wiping`, `improperly_adjusted`, `improperly_aimed_headlight`, `improperly_inflated`, `inoperable_4_way_flasher`, `inoperable_air_horn`, `inoperable_brake_light`, `inoperable_electric_horn`, `inoperable_headlight_high_beam`, `inoperable_headlight_low_beam`, `inoperable_interior_light`, `inoperable_left_turn_signal`, `inoperable_right_turn_signal`, `inoperative`, `inoperative_4_way_flasher`, `inoperative_brake_light`, `inoperative_interior_light`, `inoperative_left_turn_signal`, `inoperative_right_turn_signal`, `insufficient_tread`, `leaking_air`, `leaking_fluid`, `leaking_seals`, `lock_broken_or_inoperative`, `locking_mechanism_won_t_disengage`, `locking_mechanism_won_t_engage`, `loose_or_excessive_wheel_play`, `loose_or_insecurely_mounted`, `loose_or_malfunctioning_connections`, `missing`, `overheating_or_running_hot`, `parts_loose_or_insecurely_mounted`, `parts_missing`, `pin_cracked_or_damaged`, `pintle_hook_assembly_cracked`, `pintle_hook_assembly_damaged`, `reflective_triangles_missing`, `rusty_or_corroded`, `safety_chains_cracked_or_damaged`, `seized`, `slow_to_release`, `spare_bulbs_or_fuses_missing`, `spare_seal_beam_missing`, `ties_broken_loose_or_missing`, `tread_or_sidewall_separation`, `warning_light_not_working`, `warning_light_on`, `weak_or_ineffective`, `will_not_release`
- `defect_repair_details` (DefectRepairDetails, optional, nullable) — Structured DVIR defect repair details
- `comment` (DefectComment, optional, nullable) — Structured DVIR defect comment
- `source_part_id` (string, optional, nullable)
- `source_defect_id` (string, optional, nullable)

### PointCoordinates

- Position2D: list of string
- Position3D: list of string

### PointBbox

- list of any
- list of any

### DefectRepairDetails

Structured DVIR defect repair details

- `repair_status` (enum, optional, nullable) — Enum for DVIR defect repair status.
  - Allowed values: `not_repaired`, `repaired`, `not_necessary`
- `repair_user_id` (string, optional, nullable)
- `repair_date_time` (datetime, optional, nullable)

### DefectComment

Structured DVIR defect comment

- `comment` (string, optional, nullable)
- `comment_date_time` (datetime, optional, nullable)
- `user_id` (string, optional, nullable)