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

# Hos daily snapshot modified

POST 

Emitted when an HOS daily snapshot is modified in our database.

e.g. The record fetched from the TSP is different from what we had stored in our database and it prompted us to update the existing record.

Reference: https://catena.ferndocs.com/api-reference/notifications/webhook-events/hos-daily-snapshot-modified

## Request

### Payload

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

### BaseHosDailySnapshot

Base class for HOS daily snapshots.

- `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).
- `driver_id` (string, optional, nullable) — Internal driver identifier (Catena FK).
- `snapshot_date` (date, optional, nullable) — Local snapshot date at the driver's home terminal (RODS date)
- `duration_off_duty_seconds` (integer, optional, nullable) — Total off-duty time for the local day (integer seconds)
- `duration_sleeper_berth_seconds` (integer, optional, nullable) — Total sleeper-berth time for the local day (integer seconds)
- `duration_on_duty_seconds` (integer, optional, nullable) — Total on-duty (not driving) time for the local day (integer seconds)
- `duration_driving_seconds` (integer, optional, nullable) — Total driving time for the local day (integer seconds)
- `duration_personal_conveyance_seconds` (integer, optional, nullable) — Total personal conveyance (PC) time for the local day (integer seconds)
- `duration_yard_move_seconds` (integer, optional, nullable) — Total yard move (YM) time for the local day (integer seconds)
- `duration_waiting_seconds` (integer, optional, nullable) — Total waiting time for the local day (integer seconds), if separately reported by the TSP
- `duration_unknown_seconds` (integer, optional, nullable) — Time not attributable to a known duty status (gaps/ambiguity), in integer seconds
- `duration_cycle_on_duty_seconds` (integer, optional, nullable) — Total on-duty (including driving) time since the last cycle reset (integer seconds)