samsara-api 3.0.0__py3-none-any.whl → 4.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1371) hide show
  1. samsara/__init__.py +7438 -2443
  2. samsara/addresses/__init__.py +31 -1
  3. samsara/addresses/client.py +19 -12
  4. samsara/addresses/raw_client.py +13 -16
  5. samsara/addresses/types/__init__.py +32 -2
  6. samsara/addresses/types/create_address_request_address_types_item.py +9 -1
  7. samsara/addresses/types/update_address_request_address_types_item.py +9 -1
  8. samsara/alerts/__init__.py +29 -3
  9. samsara/alerts/client.py +811 -8
  10. samsara/alerts/raw_client.py +1837 -0
  11. samsara/alerts/types/__init__.py +34 -0
  12. samsara/alerts/types/get_configurations_request_status.py +5 -0
  13. samsara/assets/__init__.py +40 -9
  14. samsara/assets/client.py +710 -23
  15. samsara/assets/raw_client.py +673 -6
  16. samsara/assets/types/__init__.py +38 -5
  17. samsara/attributes/__init__.py +50 -16
  18. samsara/attributes/client.py +82 -96
  19. samsara/attributes/raw_client.py +57 -104
  20. samsara/attributes/types/__init__.py +48 -14
  21. samsara/attributes/types/create_attribute_request_attribute_type.py +3 -1
  22. samsara/attributes/types/create_attribute_request_unit.py +42 -0
  23. samsara/attributes/types/delete_attribute_request_entity_type.py +5 -0
  24. samsara/attributes/types/get_attribute_request_entity_type.py +5 -0
  25. samsara/attributes/types/get_attributes_by_entity_type_request_entity_type.py +5 -0
  26. samsara/attributes/types/update_attribute_request_attribute_type.py +3 -1
  27. samsara/beta_ap_is/__init__.py +70 -0
  28. samsara/beta_ap_is/client.py +7119 -0
  29. samsara/beta_ap_is/raw_client.py +16518 -0
  30. samsara/beta_ap_is/types/__init__.py +70 -0
  31. samsara/beta_ap_is/types/functions_start_function_run_request_body_params_override.py +21 -0
  32. samsara/beta_ap_is/types/get_assets_inputs_request_type.py +27 -0
  33. samsara/beta_ap_is/types/get_driver_efficiency_request_driver_activation_status.py +5 -0
  34. samsara/beta_ap_is/types/get_hos_eld_events_request_driver_activation_status.py +5 -0
  35. samsara/beta_ap_is/types/get_jobs_request_status.py +5 -0
  36. samsara/beta_ap_is/types/get_qualification_records_stream_request_entity_type.py +5 -0
  37. samsara/beta_ap_is/types/get_qualification_types_request_entity_type.py +5 -0
  38. samsara/beta_ap_is/types/get_tag_group_safety_scores_request_score_type.py +5 -0
  39. samsara/beta_ap_is/types/get_tag_safety_scores_request_score_type.py +5 -0
  40. samsara/beta_ap_is/types/get_trips_request_completion_status.py +5 -0
  41. samsara/beta_ap_is/types/get_trips_request_query_by.py +5 -0
  42. samsara/carrier_proposed_assignments/client.py +38 -39
  43. samsara/carrier_proposed_assignments/raw_client.py +23 -61
  44. samsara/client.py +950 -152
  45. samsara/coaching/__init__.py +0 -3
  46. samsara/coaching/client.py +442 -8
  47. samsara/coaching/raw_client.py +1043 -0
  48. samsara/contacts/client.py +48 -51
  49. samsara/contacts/raw_client.py +29 -61
  50. samsara/core/__init__.py +76 -21
  51. samsara/core/client_wrapper.py +20 -10
  52. samsara/core/force_multipart.py +4 -2
  53. samsara/core/http_response.py +1 -1
  54. samsara/core/pagination.py +1 -1
  55. samsara/core/pydantic_utilities.py +7 -4
  56. samsara/documents/__init__.py +29 -3
  57. samsara/documents/client.py +294 -44
  58. samsara/documents/raw_client.py +503 -53
  59. samsara/documents/types/__init__.py +30 -1
  60. samsara/driver_qr_codes/client.py +306 -0
  61. samsara/driver_qr_codes/raw_client.py +928 -0
  62. samsara/driver_vehicle_assignments/__init__.py +32 -2
  63. samsara/driver_vehicle_assignments/client.py +47 -35
  64. samsara/driver_vehicle_assignments/raw_client.py +19 -19
  65. samsara/driver_vehicle_assignments/types/__init__.py +33 -3
  66. samsara/driver_vehicle_assignments/types/get_driver_vehicle_assignments_request_assignment_type.py +10 -0
  67. samsara/driver_vehicle_assignments/types/get_driver_vehicle_assignments_request_filter_by.py +5 -0
  68. samsara/drivers/__init__.py +38 -11
  69. samsara/drivers/client.py +139 -20
  70. samsara/drivers/raw_client.py +111 -6
  71. samsara/drivers/types/__init__.py +36 -4
  72. samsara/equipment/__init__.py +39 -7
  73. samsara/equipment/client.py +1001 -62
  74. samsara/equipment/raw_client.py +1010 -70
  75. samsara/equipment/types/__init__.py +44 -0
  76. samsara/equipment/types/get_equipment_stats_feed_request_types_item.py +19 -0
  77. samsara/equipment/types/get_equipment_stats_history_request_types_item.py +19 -0
  78. samsara/equipment/types/get_equipment_stats_request_types_item.py +19 -0
  79. samsara/errors/__init__.py +46 -9
  80. samsara/fleet/__init__.py +34 -0
  81. samsara/fleet/attributes/client.py +101 -0
  82. samsara/fleet/attributes/raw_client.py +74 -0
  83. samsara/fleet/client.py +63 -0
  84. samsara/fleet/raw_client.py +13 -0
  85. samsara/forms/__init__.py +30 -0
  86. samsara/forms/client.py +815 -2
  87. samsara/forms/raw_client.py +2091 -15
  88. samsara/forms/types/__init__.py +38 -0
  89. samsara/fuel_and_energy/__init__.py +46 -0
  90. samsara/fuel_and_energy/client.py +960 -0
  91. samsara/fuel_and_energy/raw_client.py +1925 -0
  92. samsara/fuel_and_energy/types/__init__.py +48 -0
  93. samsara/fuel_and_energy/types/fuel_purchase_post_fuel_purchase_request_body_fuel_grade.py +7 -0
  94. samsara/fuel_and_energy/types/get_fuel_energy_vehicle_reports_request_energy_type.py +5 -0
  95. samsara/gateways/client.py +29 -35
  96. samsara/gateways/raw_client.py +14 -45
  97. samsara/hours_of_service/__init__.py +34 -0
  98. samsara/hours_of_service/client.py +1002 -0
  99. samsara/hours_of_service/raw_client.py +1381 -0
  100. samsara/hours_of_service/types/__init__.py +36 -0
  101. samsara/hours_of_service/types/get_hos_daily_logs_request_driver_activation_status.py +5 -0
  102. samsara/hubs/client.py +1073 -0
  103. samsara/hubs/raw_client.py +2106 -0
  104. samsara/idling/__init__.py +29 -2
  105. samsara/idling/client.py +36 -30
  106. samsara/idling/raw_client.py +18 -72
  107. samsara/idling/types/__init__.py +29 -2
  108. samsara/idling/types/get_idling_events_request_pto_state.py +5 -0
  109. samsara/ifta/__init__.py +50 -2
  110. samsara/ifta/client.py +634 -3
  111. samsara/ifta/raw_client.py +1432 -0
  112. samsara/ifta/types/__init__.py +53 -0
  113. samsara/ifta/types/get_ifta_jurisdiction_reports_request_fuel_type.py +25 -0
  114. samsara/ifta/types/get_ifta_jurisdiction_reports_request_month.py +21 -0
  115. samsara/ifta/types/get_ifta_jurisdiction_reports_request_quarter.py +5 -0
  116. samsara/ifta/types/get_ifta_vehicle_reports_request_fuel_type.py +25 -0
  117. samsara/ifta/types/get_ifta_vehicle_reports_request_month.py +21 -0
  118. samsara/ifta/types/get_ifta_vehicle_reports_request_quarter.py +5 -0
  119. samsara/industrial/client.py +2167 -0
  120. samsara/industrial/raw_client.py +2463 -0
  121. samsara/issues/__init__.py +28 -1
  122. samsara/issues/client.py +39 -35
  123. samsara/issues/raw_client.py +24 -53
  124. samsara/issues/types/__init__.py +30 -1
  125. samsara/legacy/client.py +21 -95
  126. samsara/legacy/raw_client.py +25 -304
  127. samsara/legacy_ap_is/__init__.py +34 -0
  128. samsara/legacy_ap_is/client.py +879 -0
  129. samsara/legacy_ap_is/raw_client.py +1433 -0
  130. samsara/legacy_ap_is/types/__init__.py +38 -0
  131. samsara/legacy_ap_is/types/get_drivers_vehicle_assignments_request_driver_activation_status.py +7 -0
  132. samsara/live_sharing_links/__init__.py +37 -0
  133. samsara/live_sharing_links/client.py +548 -0
  134. samsara/live_sharing_links/raw_client.py +1389 -0
  135. samsara/live_sharing_links/types/__init__.py +40 -0
  136. samsara/live_sharing_links/types/get_live_sharing_links_request_type.py +7 -0
  137. samsara/location_and_speed/client.py +236 -0
  138. samsara/location_and_speed/raw_client.py +414 -0
  139. samsara/maintenance/__init__.py +30 -20
  140. samsara/maintenance/client.py +1198 -8
  141. samsara/maintenance/raw_client.py +2249 -0
  142. samsara/maintenance/types/__init__.py +34 -0
  143. samsara/media/__init__.py +52 -0
  144. samsara/media/client.py +500 -0
  145. samsara/media/raw_client.py +1082 -0
  146. samsara/media/types/__init__.py +54 -0
  147. samsara/media/types/list_uploaded_media_request_inputs_item.py +7 -0
  148. samsara/media/types/list_uploaded_media_request_media_types_item.py +5 -0
  149. samsara/media/types/list_uploaded_media_request_trigger_reasons_item.py +17 -0
  150. samsara/media/types/media_retrieval_post_media_retrieval_request_body_inputs_item.py +7 -0
  151. samsara/messages/client.py +272 -0
  152. samsara/messages/raw_client.py +273 -0
  153. samsara/organization_info/client.py +112 -0
  154. samsara/organization_info/raw_client.py +101 -0
  155. samsara/plans/client.py +312 -0
  156. samsara/plans/raw_client.py +700 -0
  157. samsara/preview_ap_is/client.py +367 -0
  158. samsara/preview_ap_is/raw_client.py +956 -0
  159. samsara/routes/__init__.py +0 -3
  160. samsara/routes/client.py +459 -50
  161. samsara/routes/raw_client.py +913 -140
  162. samsara/safety/client.py +662 -0
  163. samsara/safety/raw_client.py +869 -0
  164. samsara/sensors/__init__.py +34 -0
  165. samsara/sensors/client.py +680 -0
  166. samsara/sensors/raw_client.py +746 -0
  167. samsara/sensors/types/__init__.py +34 -0
  168. samsara/sensors/types/inline_object_6_fill_missing.py +5 -0
  169. samsara/settings/__init__.py +0 -3
  170. samsara/settings/client.py +579 -13
  171. samsara/settings/raw_client.py +1655 -0
  172. samsara/speeding_intervals/__init__.py +29 -2
  173. samsara/speeding_intervals/client.py +20 -28
  174. samsara/speeding_intervals/raw_client.py +16 -58
  175. samsara/speeding_intervals/types/__init__.py +31 -2
  176. samsara/speeding_intervals/types/get_speeding_intervals_request_query_by.py +5 -0
  177. samsara/tachograph_eu_only/client.py +494 -0
  178. samsara/tachograph_eu_only/raw_client.py +475 -0
  179. samsara/tags/client.py +53 -58
  180. samsara/tags/raw_client.py +29 -63
  181. samsara/trailer_assignments/client.py +331 -0
  182. samsara/trailer_assignments/raw_client.py +313 -0
  183. samsara/trailers/client.py +47 -47
  184. samsara/trailers/raw_client.py +18 -53
  185. samsara/trips/__init__.py +0 -3
  186. samsara/trips/client.py +55 -111
  187. samsara/trips/raw_client.py +58 -349
  188. samsara/types/__init__.py +10049 -4134
  189. samsara/types/address.py +5 -5
  190. samsara/types/address_address_types_item.py +9 -1
  191. samsara/types/address_external_ids.py +21 -0
  192. samsara/types/aemp_equipment_get_aemp_equipment_list_bad_gateway_error_response_body.py +33 -0
  193. samsara/types/aemp_equipment_get_aemp_equipment_list_gateway_timeout_error_response_body.py +33 -0
  194. samsara/types/aemp_equipment_get_aemp_equipment_list_internal_server_error_response_body.py +33 -0
  195. samsara/types/aemp_equipment_get_aemp_equipment_list_method_not_allowed_error_response_body.py +33 -0
  196. samsara/types/aemp_equipment_get_aemp_equipment_list_not_found_error_response_body.py +33 -0
  197. samsara/types/aemp_equipment_get_aemp_equipment_list_not_implemented_error_response_body.py +33 -0
  198. samsara/types/aemp_equipment_get_aemp_equipment_list_response_body.py +22 -0
  199. samsara/types/aemp_equipment_get_aemp_equipment_list_service_unavailable_error_response_body.py +33 -0
  200. samsara/types/aemp_equipment_get_aemp_equipment_list_too_many_requests_error_response_body.py +33 -0
  201. samsara/types/aemp_equipment_get_aemp_equipment_list_unauthorized_error_response_body.py +33 -0
  202. samsara/types/aemp_equipment_with_additional_fields_response_body.py +48 -0
  203. samsara/types/aemp_fleet_list_response_body.py +49 -0
  204. samsara/types/aemp_link_response_body.py +31 -0
  205. samsara/types/anticipation_brake_event_count.py +3 -0
  206. samsara/types/appointment_window_request_body.py +34 -0
  207. samsara/types/appointment_window_response_body.py +34 -0
  208. samsara/types/asset_data_input.py +45 -0
  209. samsara/types/asset_data_input_last_point.py +28 -0
  210. samsara/types/asset_data_output.py +45 -0
  211. samsara/types/asset_data_outputs_patch_asset_data_outputs_bad_gateway_error_response_body.py +33 -0
  212. samsara/types/asset_data_outputs_patch_asset_data_outputs_gateway_timeout_error_response_body.py +33 -0
  213. samsara/types/asset_data_outputs_patch_asset_data_outputs_internal_server_error_response_body.py +33 -0
  214. samsara/types/asset_data_outputs_patch_asset_data_outputs_method_not_allowed_error_response_body.py +33 -0
  215. samsara/types/asset_data_outputs_patch_asset_data_outputs_not_found_error_response_body.py +33 -0
  216. samsara/types/asset_data_outputs_patch_asset_data_outputs_not_implemented_error_response_body.py +33 -0
  217. samsara/types/asset_data_outputs_patch_asset_data_outputs_response_body.py +23 -0
  218. samsara/types/asset_data_outputs_patch_asset_data_outputs_service_unavailable_error_response_body.py +33 -0
  219. samsara/types/asset_data_outputs_patch_asset_data_outputs_too_many_requests_error_response_body.py +33 -0
  220. samsara/types/asset_data_outputs_patch_asset_data_outputs_unauthorized_error_response_body.py +33 -0
  221. samsara/types/asset_location.py +35 -0
  222. samsara/types/asset_name.py +3 -0
  223. samsara/types/asset_response.py +71 -0
  224. samsara/types/asset_response_body.py +7 -0
  225. samsara/types/asset_response_location_data_input.py +26 -0
  226. samsara/types/asset_response_parent_asset.py +26 -0
  227. samsara/types/asset_response_running_status_data_input.py +26 -0
  228. samsara/types/assets_location_link_request_config_object.py +39 -0
  229. samsara/types/assets_location_link_response_config_object_response_body.py +40 -0
  230. samsara/types/attribute.py +10 -12
  231. samsara/types/attribute_attribute_type.py +3 -1
  232. samsara/types/attribute_entity.py +3 -3
  233. samsara/types/attribute_unit.py +42 -0
  234. samsara/types/base_route_response_object_response_body.py +7 -0
  235. samsara/types/coasting_duration_ms.py +3 -0
  236. samsara/types/continuous_reading_alert_threshold_response_body.py +1 -1
  237. samsara/types/continuous_reading_alert_threshold_response_body_unit.py +15 -0
  238. samsara/types/create_driver_auth_token_response_response_body.py +33 -0
  239. samsara/types/cruise_control_duration_ms.py +3 -0
  240. samsara/types/cumulative_operating_hours_response_body.py +35 -0
  241. samsara/types/custom_metadata.py +5 -0
  242. samsara/types/data_input_list_response.py +26 -0
  243. samsara/types/data_input_response.py +19 -0
  244. samsara/types/data_input_response_all_of.py +59 -0
  245. samsara/types/data_input_snapshot.py +19 -0
  246. samsara/types/data_input_snapshot_all_of.py +40 -0
  247. samsara/types/data_input_snapshot_response.py +26 -0
  248. samsara/types/data_input_tiny_response.py +52 -0
  249. samsara/types/data_inputs_tiny_response.py +26 -0
  250. samsara/types/def_remaining_response_body.py +35 -0
  251. samsara/types/detection_log_asset_object_response_body.py +43 -0
  252. samsara/types/detection_log_detection_object_response_body.py +65 -0
  253. samsara/types/detection_log_detection_object_response_body_trigger_detection_label.py +33 -0
  254. samsara/types/detection_log_driver_object_response_body.py +52 -0
  255. samsara/types/detection_log_get_detections_bad_gateway_error_response_body.py +33 -0
  256. samsara/types/detection_log_get_detections_gateway_timeout_error_response_body.py +33 -0
  257. samsara/types/detection_log_get_detections_internal_server_error_response_body.py +33 -0
  258. samsara/types/detection_log_get_detections_method_not_allowed_error_response_body.py +33 -0
  259. samsara/types/detection_log_get_detections_not_found_error_response_body.py +33 -0
  260. samsara/types/detection_log_get_detections_not_implemented_error_response_body.py +33 -0
  261. samsara/types/detection_log_get_detections_response_body.py +26 -0
  262. samsara/types/detection_log_get_detections_service_unavailable_error_response_body.py +33 -0
  263. samsara/types/detection_log_get_detections_too_many_requests_error_response_body.py +33 -0
  264. samsara/types/detection_log_get_detections_unauthorized_error_response_body.py +33 -0
  265. samsara/types/detection_log_safety_event_object_response_body.py +39 -0
  266. samsara/types/detection_log_safety_event_object_response_body_inbox_filter_reason.py +21 -0
  267. samsara/types/device_response_response_body.py +1 -1
  268. samsara/types/device_response_response_body_model.py +5 -0
  269. samsara/types/distance_driven_meters.py +3 -0
  270. samsara/types/distance_response_body.py +42 -0
  271. samsara/types/drive_time_duration_ms.py +3 -0
  272. samsara/types/driver.py +8 -0
  273. samsara/types/driver_app_sign_in_response_body.py +6 -0
  274. samsara/types/driver_efficiencies_response.py +26 -0
  275. samsara/types/driver_efficiencies_response_data.py +42 -0
  276. samsara/types/driver_efficiency.py +79 -0
  277. samsara/types/driver_efficiency_data_object_response_body.py +84 -0
  278. samsara/types/driver_efficiency_difficulty_score_data_object_response_body.py +44 -0
  279. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_bad_gateway_error_response_body.py +33 -0
  280. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_gateway_timeout_error_response_body.py +33 -0
  281. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_internal_server_error_response_body.py +33 -0
  282. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_method_not_allowed_error_response_body.py +33 -0
  283. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_not_found_error_response_body.py +33 -0
  284. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_not_implemented_error_response_body.py +33 -0
  285. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_response_body.py +28 -0
  286. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_service_unavailable_error_response_body.py +33 -0
  287. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_too_many_requests_error_response_body.py +33 -0
  288. samsara/types/driver_efficiency_get_driver_efficiency_by_drivers_unauthorized_error_response_body.py +33 -0
  289. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_bad_gateway_error_response_body.py +33 -0
  290. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_gateway_timeout_error_response_body.py +33 -0
  291. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_internal_server_error_response_body.py +33 -0
  292. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_method_not_allowed_error_response_body.py +33 -0
  293. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_not_found_error_response_body.py +33 -0
  294. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_not_implemented_error_response_body.py +33 -0
  295. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_response_body.py +28 -0
  296. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_service_unavailable_error_response_body.py +33 -0
  297. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_too_many_requests_error_response_body.py +33 -0
  298. samsara/types/driver_efficiency_get_driver_efficiency_by_vehicles_unauthorized_error_response_body.py +33 -0
  299. samsara/types/driver_efficiency_percentage_data_object_response_body.py +84 -0
  300. samsara/types/driver_efficiency_raw_data_object_response_body.py +119 -0
  301. samsara/types/driver_has_vehicle_unpinning_enabled.py +3 -0
  302. samsara/types/driver_profile_image_base_64.py +3 -0
  303. samsara/types/driver_profile_image_url.py +3 -0
  304. samsara/types/driver_safety_score_response_body.py +59 -0
  305. samsara/types/drivers_auth_token_create_driver_auth_token_bad_gateway_error_response_body.py +33 -0
  306. samsara/types/drivers_auth_token_create_driver_auth_token_gateway_timeout_error_response_body.py +33 -0
  307. samsara/types/drivers_auth_token_create_driver_auth_token_internal_server_error_response_body.py +33 -0
  308. samsara/types/drivers_auth_token_create_driver_auth_token_method_not_allowed_error_response_body.py +33 -0
  309. samsara/types/drivers_auth_token_create_driver_auth_token_not_found_error_response_body.py +33 -0
  310. samsara/types/drivers_auth_token_create_driver_auth_token_not_implemented_error_response_body.py +33 -0
  311. samsara/types/drivers_auth_token_create_driver_auth_token_response_body.py +20 -0
  312. samsara/types/drivers_auth_token_create_driver_auth_token_service_unavailable_error_response_body.py +33 -0
  313. samsara/types/drivers_auth_token_create_driver_auth_token_too_many_requests_error_response_body.py +33 -0
  314. samsara/types/drivers_auth_token_create_driver_auth_token_unauthorized_error_response_body.py +33 -0
  315. samsara/types/engine_immobilizer_update_engine_immobilizer_state_bad_gateway_error_response_body.py +33 -0
  316. samsara/types/engine_immobilizer_update_engine_immobilizer_state_gateway_timeout_error_response_body.py +33 -0
  317. samsara/types/engine_immobilizer_update_engine_immobilizer_state_internal_server_error_response_body.py +33 -0
  318. samsara/types/engine_immobilizer_update_engine_immobilizer_state_method_not_allowed_error_response_body.py +33 -0
  319. samsara/types/engine_immobilizer_update_engine_immobilizer_state_not_found_error_response_body.py +33 -0
  320. samsara/types/engine_immobilizer_update_engine_immobilizer_state_not_implemented_error_response_body.py +33 -0
  321. samsara/types/engine_immobilizer_update_engine_immobilizer_state_service_unavailable_error_response_body.py +33 -0
  322. samsara/types/engine_immobilizer_update_engine_immobilizer_state_too_many_requests_error_response_body.py +33 -0
  323. samsara/types/engine_immobilizer_update_engine_immobilizer_state_unauthorized_error_response_body.py +33 -0
  324. samsara/types/engine_status_response_body.py +35 -0
  325. samsara/types/equipment_header_with_additional_fields_response_body.py +63 -0
  326. samsara/types/equipment_patch_equipment_bad_gateway_error_response_body.py +33 -0
  327. samsara/types/equipment_patch_equipment_gateway_timeout_error_response_body.py +33 -0
  328. samsara/types/equipment_patch_equipment_internal_server_error_response_body.py +33 -0
  329. samsara/types/equipment_patch_equipment_method_not_allowed_error_response_body.py +33 -0
  330. samsara/types/equipment_patch_equipment_not_found_error_response_body.py +33 -0
  331. samsara/types/equipment_patch_equipment_not_implemented_error_response_body.py +33 -0
  332. samsara/types/equipment_patch_equipment_response_body.py +20 -0
  333. samsara/types/equipment_patch_equipment_service_unavailable_error_response_body.py +33 -0
  334. samsara/types/equipment_patch_equipment_too_many_requests_error_response_body.py +33 -0
  335. samsara/types/equipment_patch_equipment_unauthorized_error_response_body.py +33 -0
  336. samsara/types/equipment_with_attributes_response_object_response_body.py +68 -0
  337. samsara/types/extended_driver_tiny_response.py +46 -0
  338. samsara/types/extended_driver_tiny_response_external_ids.py +21 -0
  339. samsara/types/fft_spectra_data_point.py +30 -0
  340. samsara/types/fft_spectra_data_point_fft_spectra.py +41 -0
  341. samsara/types/fleet_device_object_response_body.py +31 -0
  342. samsara/types/form_submission_request_media_item_object_request_body.py +33 -0
  343. samsara/types/form_submission_request_media_value_object_request_body.py +31 -0
  344. samsara/types/form_submission_request_signature_value_object_request_body.py +24 -0
  345. samsara/types/form_template_response_object_response_body.py +10 -0
  346. samsara/types/form_template_response_object_response_body_form_category.py +7 -0
  347. samsara/types/form_updated_response_body.py +24 -0
  348. samsara/types/fuel_consumed_ml.py +3 -0
  349. samsara/types/fuel_remaining_response_body.py +35 -0
  350. samsara/types/functions_start_function_run_bad_gateway_error_response_body.py +33 -0
  351. samsara/types/functions_start_function_run_gateway_timeout_error_response_body.py +33 -0
  352. samsara/types/functions_start_function_run_internal_server_error_response_body.py +33 -0
  353. samsara/types/functions_start_function_run_method_not_allowed_error_response_body.py +33 -0
  354. samsara/types/functions_start_function_run_not_found_error_response_body.py +33 -0
  355. samsara/types/functions_start_function_run_not_implemented_error_response_body.py +33 -0
  356. samsara/types/functions_start_function_run_response_body.py +20 -0
  357. samsara/types/functions_start_function_run_service_unavailable_error_response_body.py +33 -0
  358. samsara/types/functions_start_function_run_too_many_requests_error_response_body.py +33 -0
  359. samsara/types/functions_start_function_run_unauthorized_error_response_body.py +33 -0
  360. samsara/types/gateway_details_response_response_body.py +1 -1
  361. samsara/types/gateway_details_response_response_body_gateway_battery_state.py +3 -1
  362. samsara/types/goa_attribute_tiny.py +47 -0
  363. samsara/types/goa_form_tiny_response_response_body.py +26 -0
  364. samsara/types/goa_issue_tiny_response_response_body.py +26 -0
  365. samsara/types/green_band_driving_duration_ms.py +3 -0
  366. samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +2 -0
  367. samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +2 -0
  368. samsara/types/health_response_response_body.py +11 -1
  369. samsara/types/health_response_response_body_recommended_action.py +10 -0
  370. samsara/types/high_torque_ms.py +3 -0
  371. samsara/types/hos_daily_logs_update_shipping_docs_bad_gateway_error_response_body.py +33 -0
  372. samsara/types/hos_daily_logs_update_shipping_docs_gateway_timeout_error_response_body.py +33 -0
  373. samsara/types/hos_daily_logs_update_shipping_docs_internal_server_error_response_body.py +33 -0
  374. samsara/types/hos_daily_logs_update_shipping_docs_method_not_allowed_error_response_body.py +33 -0
  375. samsara/types/hos_daily_logs_update_shipping_docs_not_found_error_response_body.py +33 -0
  376. samsara/types/hos_daily_logs_update_shipping_docs_not_implemented_error_response_body.py +33 -0
  377. samsara/types/hos_daily_logs_update_shipping_docs_response_body.py +20 -0
  378. samsara/types/hos_daily_logs_update_shipping_docs_service_unavailable_error_response_body.py +33 -0
  379. samsara/types/hos_daily_logs_update_shipping_docs_too_many_requests_error_response_body.py +33 -0
  380. samsara/types/hos_daily_logs_update_shipping_docs_unauthorized_error_response_body.py +33 -0
  381. samsara/types/hos_drivers_eld_event_object_response_body.py +54 -0
  382. samsara/types/hos_drivers_eld_event_object_response_body_driver_activation_status.py +7 -0
  383. samsara/types/hos_eld_event_location_object_response_body.py +46 -0
  384. samsara/types/hos_eld_event_object_response_body.py +98 -0
  385. samsara/types/hos_eld_event_object_response_body_malfunction_diagnostic_code.py +7 -0
  386. samsara/types/hos_eld_event_remark_object_response_body.py +36 -0
  387. samsara/types/hos_eld_events_get_hos_eld_events_bad_gateway_error_response_body.py +33 -0
  388. samsara/types/hos_eld_events_get_hos_eld_events_gateway_timeout_error_response_body.py +33 -0
  389. samsara/types/hos_eld_events_get_hos_eld_events_internal_server_error_response_body.py +33 -0
  390. samsara/types/hos_eld_events_get_hos_eld_events_method_not_allowed_error_response_body.py +33 -0
  391. samsara/types/hos_eld_events_get_hos_eld_events_not_found_error_response_body.py +33 -0
  392. samsara/types/hos_eld_events_get_hos_eld_events_not_implemented_error_response_body.py +33 -0
  393. samsara/types/hos_eld_events_get_hos_eld_events_response_body.py +26 -0
  394. samsara/types/hos_eld_events_get_hos_eld_events_service_unavailable_error_response_body.py +33 -0
  395. samsara/types/hos_eld_events_get_hos_eld_events_too_many_requests_error_response_body.py +33 -0
  396. samsara/types/hos_eld_events_get_hos_eld_events_unauthorized_error_response_body.py +33 -0
  397. samsara/types/hub_capacities_list_hub_capacities_bad_gateway_error_response_body.py +33 -0
  398. samsara/types/hub_capacities_list_hub_capacities_gateway_timeout_error_response_body.py +33 -0
  399. samsara/types/hub_capacities_list_hub_capacities_internal_server_error_response_body.py +33 -0
  400. samsara/types/hub_capacities_list_hub_capacities_method_not_allowed_error_response_body.py +33 -0
  401. samsara/types/hub_capacities_list_hub_capacities_not_found_error_response_body.py +33 -0
  402. samsara/types/hub_capacities_list_hub_capacities_not_implemented_error_response_body.py +33 -0
  403. samsara/types/hub_capacities_list_hub_capacities_response_body.py +26 -0
  404. samsara/types/hub_capacities_list_hub_capacities_service_unavailable_error_response_body.py +33 -0
  405. samsara/types/hub_capacities_list_hub_capacities_too_many_requests_error_response_body.py +33 -0
  406. samsara/types/hub_capacities_list_hub_capacities_unauthorized_error_response_body.py +33 -0
  407. samsara/types/hub_capacity_object_response_body.py +54 -0
  408. samsara/types/hub_location_created_object_response_body.py +105 -0
  409. samsara/types/hub_location_input_object_request_body.py +94 -0
  410. samsara/types/hub_location_object_response_body.py +105 -0
  411. samsara/types/hub_location_service_window_input_request_body.py +38 -0
  412. samsara/types/hub_location_updated_object_response_body.py +105 -0
  413. samsara/types/hub_locations_create_hub_locations_bad_gateway_error_response_body.py +33 -0
  414. samsara/types/hub_locations_create_hub_locations_gateway_timeout_error_response_body.py +33 -0
  415. samsara/types/hub_locations_create_hub_locations_internal_server_error_response_body.py +33 -0
  416. samsara/types/hub_locations_create_hub_locations_method_not_allowed_error_response_body.py +33 -0
  417. samsara/types/hub_locations_create_hub_locations_not_found_error_response_body.py +33 -0
  418. samsara/types/hub_locations_create_hub_locations_not_implemented_error_response_body.py +33 -0
  419. samsara/types/hub_locations_create_hub_locations_response_body.py +23 -0
  420. samsara/types/hub_locations_create_hub_locations_service_unavailable_error_response_body.py +33 -0
  421. samsara/types/hub_locations_create_hub_locations_too_many_requests_error_response_body.py +33 -0
  422. samsara/types/hub_locations_create_hub_locations_unauthorized_error_response_body.py +33 -0
  423. samsara/types/hub_locations_list_hub_locations_bad_gateway_error_response_body.py +33 -0
  424. samsara/types/hub_locations_list_hub_locations_gateway_timeout_error_response_body.py +33 -0
  425. samsara/types/hub_locations_list_hub_locations_internal_server_error_response_body.py +33 -0
  426. samsara/types/hub_locations_list_hub_locations_method_not_allowed_error_response_body.py +33 -0
  427. samsara/types/hub_locations_list_hub_locations_not_found_error_response_body.py +33 -0
  428. samsara/types/hub_locations_list_hub_locations_not_implemented_error_response_body.py +33 -0
  429. samsara/types/hub_locations_list_hub_locations_response_body.py +26 -0
  430. samsara/types/hub_locations_list_hub_locations_service_unavailable_error_response_body.py +33 -0
  431. samsara/types/hub_locations_list_hub_locations_too_many_requests_error_response_body.py +33 -0
  432. samsara/types/hub_locations_list_hub_locations_unauthorized_error_response_body.py +33 -0
  433. samsara/types/hub_locations_update_hub_location_bad_gateway_error_response_body.py +33 -0
  434. samsara/types/hub_locations_update_hub_location_gateway_timeout_error_response_body.py +33 -0
  435. samsara/types/hub_locations_update_hub_location_internal_server_error_response_body.py +33 -0
  436. samsara/types/hub_locations_update_hub_location_method_not_allowed_error_response_body.py +33 -0
  437. samsara/types/hub_locations_update_hub_location_not_found_error_response_body.py +33 -0
  438. samsara/types/hub_locations_update_hub_location_not_implemented_error_response_body.py +33 -0
  439. samsara/types/hub_locations_update_hub_location_response_body.py +20 -0
  440. samsara/types/hub_locations_update_hub_location_service_unavailable_error_response_body.py +33 -0
  441. samsara/types/hub_locations_update_hub_location_too_many_requests_error_response_body.py +33 -0
  442. samsara/types/hub_locations_update_hub_location_unauthorized_error_response_body.py +33 -0
  443. samsara/types/hub_object_response_body.py +49 -0
  444. samsara/types/hub_plan_routes_list_hub_plan_routes_bad_gateway_error_response_body.py +33 -0
  445. samsara/types/hub_plan_routes_list_hub_plan_routes_gateway_timeout_error_response_body.py +33 -0
  446. samsara/types/hub_plan_routes_list_hub_plan_routes_internal_server_error_response_body.py +33 -0
  447. samsara/types/hub_plan_routes_list_hub_plan_routes_method_not_allowed_error_response_body.py +33 -0
  448. samsara/types/hub_plan_routes_list_hub_plan_routes_not_found_error_response_body.py +33 -0
  449. samsara/types/hub_plan_routes_list_hub_plan_routes_not_implemented_error_response_body.py +33 -0
  450. samsara/types/hub_plan_routes_list_hub_plan_routes_response_body.py +26 -0
  451. samsara/types/hub_plan_routes_list_hub_plan_routes_service_unavailable_error_response_body.py +33 -0
  452. samsara/types/hub_plan_routes_list_hub_plan_routes_too_many_requests_error_response_body.py +33 -0
  453. samsara/types/hub_plan_routes_list_hub_plan_routes_unauthorized_error_response_body.py +33 -0
  454. samsara/types/hub_plans_create_hub_plan_bad_gateway_error_response_body.py +33 -0
  455. samsara/types/hub_plans_create_hub_plan_gateway_timeout_error_response_body.py +33 -0
  456. samsara/types/hub_plans_create_hub_plan_internal_server_error_response_body.py +33 -0
  457. samsara/types/hub_plans_create_hub_plan_method_not_allowed_error_response_body.py +33 -0
  458. samsara/types/hub_plans_create_hub_plan_not_found_error_response_body.py +33 -0
  459. samsara/types/hub_plans_create_hub_plan_not_implemented_error_response_body.py +33 -0
  460. samsara/types/hub_plans_create_hub_plan_response_body.py +20 -0
  461. samsara/types/hub_plans_create_hub_plan_service_unavailable_error_response_body.py +33 -0
  462. samsara/types/hub_plans_create_hub_plan_too_many_requests_error_response_body.py +33 -0
  463. samsara/types/hub_plans_create_hub_plan_unauthorized_error_response_body.py +33 -0
  464. samsara/types/hub_plans_list_hub_plans_bad_gateway_error_response_body.py +33 -0
  465. samsara/types/hub_plans_list_hub_plans_gateway_timeout_error_response_body.py +33 -0
  466. samsara/types/hub_plans_list_hub_plans_internal_server_error_response_body.py +33 -0
  467. samsara/types/hub_plans_list_hub_plans_method_not_allowed_error_response_body.py +33 -0
  468. samsara/types/hub_plans_list_hub_plans_not_found_error_response_body.py +33 -0
  469. samsara/types/hub_plans_list_hub_plans_not_implemented_error_response_body.py +33 -0
  470. samsara/types/hub_plans_list_hub_plans_response_body.py +26 -0
  471. samsara/types/hub_plans_list_hub_plans_service_unavailable_error_response_body.py +33 -0
  472. samsara/types/hub_plans_list_hub_plans_too_many_requests_error_response_body.py +33 -0
  473. samsara/types/hub_plans_list_hub_plans_unauthorized_error_response_body.py +33 -0
  474. samsara/types/hub_skill_object_response_body.py +49 -0
  475. samsara/types/hub_skills_list_hub_skills_bad_gateway_error_response_body.py +33 -0
  476. samsara/types/hub_skills_list_hub_skills_gateway_timeout_error_response_body.py +33 -0
  477. samsara/types/hub_skills_list_hub_skills_internal_server_error_response_body.py +33 -0
  478. samsara/types/hub_skills_list_hub_skills_method_not_allowed_error_response_body.py +33 -0
  479. samsara/types/hub_skills_list_hub_skills_not_found_error_response_body.py +33 -0
  480. samsara/types/hub_skills_list_hub_skills_not_implemented_error_response_body.py +33 -0
  481. samsara/types/hub_skills_list_hub_skills_response_body.py +26 -0
  482. samsara/types/hub_skills_list_hub_skills_service_unavailable_error_response_body.py +33 -0
  483. samsara/types/hub_skills_list_hub_skills_too_many_requests_error_response_body.py +33 -0
  484. samsara/types/hub_skills_list_hub_skills_unauthorized_error_response_body.py +33 -0
  485. samsara/types/hubs_list_hubs_bad_gateway_error_response_body.py +33 -0
  486. samsara/types/hubs_list_hubs_gateway_timeout_error_response_body.py +33 -0
  487. samsara/types/hubs_list_hubs_internal_server_error_response_body.py +33 -0
  488. samsara/types/hubs_list_hubs_method_not_allowed_error_response_body.py +33 -0
  489. samsara/types/hubs_list_hubs_not_found_error_response_body.py +33 -0
  490. samsara/types/hubs_list_hubs_not_implemented_error_response_body.py +33 -0
  491. samsara/types/hubs_list_hubs_response_body.py +26 -0
  492. samsara/types/hubs_list_hubs_service_unavailable_error_response_body.py +33 -0
  493. samsara/types/hubs_list_hubs_too_many_requests_error_response_body.py +33 -0
  494. samsara/types/hubs_list_hubs_unauthorized_error_response_body.py +33 -0
  495. samsara/types/idle_time_duration_ms.py +3 -0
  496. samsara/types/idling_event_object_response_body.py +1 -1
  497. samsara/types/idling_event_object_response_body_address_type.py +2 -0
  498. samsara/types/industrial_asset_object_response_body.py +31 -0
  499. samsara/types/inline_response_200.py +20 -0
  500. samsara/types/inline_response_2001.py +20 -0
  501. samsara/types/inline_response_2002.py +22 -0
  502. samsara/types/inline_response_2003.py +22 -0
  503. samsara/types/inline_response_2004.py +20 -0
  504. samsara/types/inline_response_2007.py +22 -0
  505. samsara/types/inline_response_2008.py +20 -0
  506. samsara/types/inline_response_2009.py +20 -0
  507. samsara/types/j_1939_d_1_status_data_point.py +29 -0
  508. samsara/types/j_1939_d_1_status_data_point_value.py +34 -0
  509. samsara/types/job_location_response_object_response_body.py +41 -0
  510. samsara/types/job_response_object_response_body.py +106 -0
  511. samsara/types/job_response_object_response_body_status.py +5 -0
  512. samsara/types/jobs_create_job_bad_gateway_error_response_body.py +33 -0
  513. samsara/types/jobs_create_job_gateway_timeout_error_response_body.py +33 -0
  514. samsara/types/jobs_create_job_internal_server_error_response_body.py +33 -0
  515. samsara/types/jobs_create_job_method_not_allowed_error_response_body.py +33 -0
  516. samsara/types/jobs_create_job_not_found_error_response_body.py +33 -0
  517. samsara/types/jobs_create_job_not_implemented_error_response_body.py +33 -0
  518. samsara/types/jobs_create_job_response_body.py +31 -0
  519. samsara/types/jobs_create_job_service_unavailable_error_response_body.py +33 -0
  520. samsara/types/jobs_create_job_too_many_requests_error_response_body.py +33 -0
  521. samsara/types/jobs_create_job_unauthorized_error_response_body.py +33 -0
  522. samsara/types/jobs_delete_job_bad_gateway_error_response_body.py +33 -0
  523. samsara/types/jobs_delete_job_gateway_timeout_error_response_body.py +33 -0
  524. samsara/types/jobs_delete_job_internal_server_error_response_body.py +33 -0
  525. samsara/types/jobs_delete_job_method_not_allowed_error_response_body.py +33 -0
  526. samsara/types/jobs_delete_job_not_found_error_response_body.py +33 -0
  527. samsara/types/jobs_delete_job_not_implemented_error_response_body.py +33 -0
  528. samsara/types/jobs_delete_job_response_body.py +29 -0
  529. samsara/types/jobs_delete_job_service_unavailable_error_response_body.py +33 -0
  530. samsara/types/jobs_delete_job_too_many_requests_error_response_body.py +33 -0
  531. samsara/types/jobs_delete_job_unauthorized_error_response_body.py +33 -0
  532. samsara/types/jobs_get_jobs_bad_gateway_error_response_body.py +33 -0
  533. samsara/types/jobs_get_jobs_gateway_timeout_error_response_body.py +33 -0
  534. samsara/types/jobs_get_jobs_internal_server_error_response_body.py +33 -0
  535. samsara/types/jobs_get_jobs_method_not_allowed_error_response_body.py +33 -0
  536. samsara/types/jobs_get_jobs_not_found_error_response_body.py +33 -0
  537. samsara/types/jobs_get_jobs_not_implemented_error_response_body.py +33 -0
  538. samsara/types/jobs_get_jobs_response_body.py +37 -0
  539. samsara/types/jobs_get_jobs_service_unavailable_error_response_body.py +33 -0
  540. samsara/types/jobs_get_jobs_too_many_requests_error_response_body.py +33 -0
  541. samsara/types/jobs_get_jobs_unauthorized_error_response_body.py +33 -0
  542. samsara/types/jobs_patch_job_bad_gateway_error_response_body.py +33 -0
  543. samsara/types/jobs_patch_job_gateway_timeout_error_response_body.py +33 -0
  544. samsara/types/jobs_patch_job_internal_server_error_response_body.py +33 -0
  545. samsara/types/jobs_patch_job_method_not_allowed_error_response_body.py +33 -0
  546. samsara/types/jobs_patch_job_not_found_error_response_body.py +33 -0
  547. samsara/types/jobs_patch_job_not_implemented_error_response_body.py +33 -0
  548. samsara/types/jobs_patch_job_response_body.py +31 -0
  549. samsara/types/jobs_patch_job_service_unavailable_error_response_body.py +33 -0
  550. samsara/types/jobs_patch_job_too_many_requests_error_response_body.py +33 -0
  551. samsara/types/jobs_patch_job_unauthorized_error_response_body.py +33 -0
  552. samsara/types/latitude.py +3 -0
  553. samsara/types/list_hub_capacities_response_pagination_response_body.py +35 -0
  554. samsara/types/list_hub_locations_response_pagination_response_body.py +35 -0
  555. samsara/types/list_hub_plan_routes_response_pagination_response_body.py +35 -0
  556. samsara/types/list_hub_plans_response_pagination_response_body.py +35 -0
  557. samsara/types/list_hub_skills_response_pagination_response_body.py +35 -0
  558. samsara/types/list_hubs_response_pagination_response_body.py +35 -0
  559. samsara/types/list_industrial_assets_response.py +22 -0
  560. samsara/types/live_sharing_link_full_response_object_response_body.py +5 -2
  561. samsara/types/location_data_point.py +30 -0
  562. samsara/types/location_data_point_gps_location.py +57 -0
  563. samsara/types/location_data_point_gps_location_place.py +60 -0
  564. samsara/types/location_object_request_body_address_types_item.py +2 -0
  565. samsara/types/location_object_response_body_address_types_item.py +2 -0
  566. samsara/types/location_response_body.py +42 -0
  567. samsara/types/location_type.py +5 -0
  568. samsara/types/longitude.py +3 -0
  569. samsara/types/media_object_response_body.py +10 -2
  570. samsara/types/media_object_response_body_camera_role.py +28 -0
  571. samsara/types/media_object_response_body_input.py +3 -1
  572. samsara/types/media_object_response_body_status.py +3 -1
  573. samsara/types/number_data_point.py +28 -0
  574. samsara/types/order_input_object_request_body.py +59 -0
  575. samsara/types/order_object_response_body.py +75 -0
  576. samsara/types/order_quantity_input_request_body.py +33 -0
  577. samsara/types/order_quantity_response_body.py +33 -0
  578. samsara/types/order_task_object_response_body.py +54 -0
  579. samsara/types/order_task_request_body.py +67 -0
  580. samsara/types/order_task_request_body_position.py +5 -0
  581. samsara/types/order_task_response_body.py +67 -0
  582. samsara/types/order_task_response_body_position.py +5 -0
  583. samsara/types/order_task_skill_object_response_body.py +31 -0
  584. samsara/types/over_speed_ms.py +3 -0
  585. samsara/types/parent_id.py +3 -0
  586. samsara/types/part_instance_input_object_request_body.py +45 -0
  587. samsara/types/part_instance_object_response_body.py +45 -0
  588. samsara/types/patch_asset_data_outputs_single_response_response_body.py +40 -0
  589. samsara/types/patch_job_object_request_body.py +89 -0
  590. samsara/types/patch_job_objectjob_location_request_object_request_body.py +41 -0
  591. samsara/types/patch_shipping_docs_response_body_response_body.py +93 -0
  592. samsara/types/plan_object_response_body.py +49 -0
  593. samsara/types/plan_orders_create_plan_orders_bad_gateway_error_response_body.py +33 -0
  594. samsara/types/plan_orders_create_plan_orders_gateway_timeout_error_response_body.py +33 -0
  595. samsara/types/plan_orders_create_plan_orders_internal_server_error_response_body.py +33 -0
  596. samsara/types/plan_orders_create_plan_orders_method_not_allowed_error_response_body.py +33 -0
  597. samsara/types/plan_orders_create_plan_orders_not_found_error_response_body.py +33 -0
  598. samsara/types/plan_orders_create_plan_orders_not_implemented_error_response_body.py +33 -0
  599. samsara/types/plan_orders_create_plan_orders_response_body.py +23 -0
  600. samsara/types/plan_orders_create_plan_orders_service_unavailable_error_response_body.py +33 -0
  601. samsara/types/plan_orders_create_plan_orders_too_many_requests_error_response_body.py +33 -0
  602. samsara/types/plan_orders_create_plan_orders_unauthorized_error_response_body.py +33 -0
  603. samsara/types/post_fuel_purchase_request_body_discount_request_body.py +34 -0
  604. samsara/types/post_fuel_purchase_request_body_discount_request_body_currency.py +7 -0
  605. samsara/types/post_job_object_request_body.py +85 -0
  606. samsara/types/post_job_objectjob_location_request_object_request_body.py +41 -0
  607. samsara/types/power_take_off_duration_ms.py +3 -0
  608. samsara/types/qualification_field_input_object_response_body.py +75 -0
  609. samsara/types/qualification_field_input_object_response_body_type.py +8 -0
  610. samsara/types/qualification_owner_object_response_body.py +43 -0
  611. samsara/types/qualification_owner_object_response_body_entity_type.py +5 -0
  612. samsara/types/qualification_owner_request_object_request_body.py +38 -0
  613. samsara/types/qualification_owner_request_object_request_body_entity_type.py +5 -0
  614. samsara/types/qualification_record_request_field_input_object_request_body.py +77 -0
  615. samsara/types/qualification_record_request_field_input_object_request_body_type.py +8 -0
  616. samsara/types/qualification_record_response_object_response_body.py +84 -0
  617. samsara/types/qualification_record_response_object_response_body_record_status.py +7 -0
  618. samsara/types/qualification_type_reference_object_response_body.py +40 -0
  619. samsara/types/qualification_type_request_object_request_body.py +26 -0
  620. samsara/types/qualification_type_response_object_response_body.py +69 -0
  621. samsara/types/qualification_type_response_object_response_body_entity_type.py +5 -0
  622. samsara/types/qualifications_archive_qualification_record_bad_gateway_error_response_body.py +33 -0
  623. samsara/types/qualifications_archive_qualification_record_gateway_timeout_error_response_body.py +33 -0
  624. samsara/types/qualifications_archive_qualification_record_internal_server_error_response_body.py +33 -0
  625. samsara/types/qualifications_archive_qualification_record_method_not_allowed_error_response_body.py +33 -0
  626. samsara/types/qualifications_archive_qualification_record_not_found_error_response_body.py +33 -0
  627. samsara/types/qualifications_archive_qualification_record_not_implemented_error_response_body.py +33 -0
  628. samsara/types/qualifications_archive_qualification_record_service_unavailable_error_response_body.py +33 -0
  629. samsara/types/qualifications_archive_qualification_record_too_many_requests_error_response_body.py +33 -0
  630. samsara/types/qualifications_archive_qualification_record_unauthorized_error_response_body.py +33 -0
  631. samsara/types/qualifications_delete_qualification_record_bad_gateway_error_response_body.py +33 -0
  632. samsara/types/qualifications_delete_qualification_record_gateway_timeout_error_response_body.py +33 -0
  633. samsara/types/qualifications_delete_qualification_record_internal_server_error_response_body.py +33 -0
  634. samsara/types/qualifications_delete_qualification_record_method_not_allowed_error_response_body.py +33 -0
  635. samsara/types/qualifications_delete_qualification_record_not_found_error_response_body.py +33 -0
  636. samsara/types/qualifications_delete_qualification_record_not_implemented_error_response_body.py +33 -0
  637. samsara/types/qualifications_delete_qualification_record_service_unavailable_error_response_body.py +33 -0
  638. samsara/types/qualifications_delete_qualification_record_too_many_requests_error_response_body.py +33 -0
  639. samsara/types/qualifications_delete_qualification_record_unauthorized_error_response_body.py +33 -0
  640. samsara/types/qualifications_get_qualification_records_bad_gateway_error_response_body.py +33 -0
  641. samsara/types/qualifications_get_qualification_records_gateway_timeout_error_response_body.py +33 -0
  642. samsara/types/qualifications_get_qualification_records_internal_server_error_response_body.py +33 -0
  643. samsara/types/qualifications_get_qualification_records_method_not_allowed_error_response_body.py +33 -0
  644. samsara/types/qualifications_get_qualification_records_not_found_error_response_body.py +33 -0
  645. samsara/types/qualifications_get_qualification_records_not_implemented_error_response_body.py +33 -0
  646. samsara/types/qualifications_get_qualification_records_response_body.py +23 -0
  647. samsara/types/qualifications_get_qualification_records_service_unavailable_error_response_body.py +33 -0
  648. samsara/types/qualifications_get_qualification_records_stream_bad_gateway_error_response_body.py +33 -0
  649. samsara/types/qualifications_get_qualification_records_stream_gateway_timeout_error_response_body.py +33 -0
  650. samsara/types/qualifications_get_qualification_records_stream_internal_server_error_response_body.py +33 -0
  651. samsara/types/qualifications_get_qualification_records_stream_method_not_allowed_error_response_body.py +33 -0
  652. samsara/types/qualifications_get_qualification_records_stream_not_found_error_response_body.py +33 -0
  653. samsara/types/qualifications_get_qualification_records_stream_not_implemented_error_response_body.py +33 -0
  654. samsara/types/qualifications_get_qualification_records_stream_response_body.py +26 -0
  655. samsara/types/qualifications_get_qualification_records_stream_service_unavailable_error_response_body.py +33 -0
  656. samsara/types/qualifications_get_qualification_records_stream_too_many_requests_error_response_body.py +33 -0
  657. samsara/types/qualifications_get_qualification_records_stream_unauthorized_error_response_body.py +33 -0
  658. samsara/types/qualifications_get_qualification_records_too_many_requests_error_response_body.py +33 -0
  659. samsara/types/qualifications_get_qualification_records_unauthorized_error_response_body.py +33 -0
  660. samsara/types/qualifications_get_qualification_types_bad_gateway_error_response_body.py +33 -0
  661. samsara/types/qualifications_get_qualification_types_gateway_timeout_error_response_body.py +33 -0
  662. samsara/types/qualifications_get_qualification_types_internal_server_error_response_body.py +33 -0
  663. samsara/types/qualifications_get_qualification_types_method_not_allowed_error_response_body.py +33 -0
  664. samsara/types/qualifications_get_qualification_types_not_found_error_response_body.py +33 -0
  665. samsara/types/qualifications_get_qualification_types_not_implemented_error_response_body.py +33 -0
  666. samsara/types/qualifications_get_qualification_types_response_body.py +26 -0
  667. samsara/types/qualifications_get_qualification_types_service_unavailable_error_response_body.py +33 -0
  668. samsara/types/qualifications_get_qualification_types_too_many_requests_error_response_body.py +33 -0
  669. samsara/types/qualifications_get_qualification_types_unauthorized_error_response_body.py +33 -0
  670. samsara/types/qualifications_patch_qualification_record_bad_gateway_error_response_body.py +33 -0
  671. samsara/types/qualifications_patch_qualification_record_gateway_timeout_error_response_body.py +33 -0
  672. samsara/types/qualifications_patch_qualification_record_internal_server_error_response_body.py +33 -0
  673. samsara/types/qualifications_patch_qualification_record_method_not_allowed_error_response_body.py +33 -0
  674. samsara/types/qualifications_patch_qualification_record_not_found_error_response_body.py +33 -0
  675. samsara/types/qualifications_patch_qualification_record_not_implemented_error_response_body.py +33 -0
  676. samsara/types/qualifications_patch_qualification_record_response_body.py +20 -0
  677. samsara/types/qualifications_patch_qualification_record_service_unavailable_error_response_body.py +33 -0
  678. samsara/types/qualifications_patch_qualification_record_too_many_requests_error_response_body.py +33 -0
  679. samsara/types/qualifications_patch_qualification_record_unauthorized_error_response_body.py +33 -0
  680. samsara/types/qualifications_post_qualification_record_bad_gateway_error_response_body.py +33 -0
  681. samsara/types/qualifications_post_qualification_record_gateway_timeout_error_response_body.py +33 -0
  682. samsara/types/qualifications_post_qualification_record_internal_server_error_response_body.py +33 -0
  683. samsara/types/qualifications_post_qualification_record_method_not_allowed_error_response_body.py +33 -0
  684. samsara/types/qualifications_post_qualification_record_not_found_error_response_body.py +33 -0
  685. samsara/types/qualifications_post_qualification_record_not_implemented_error_response_body.py +33 -0
  686. samsara/types/qualifications_post_qualification_record_response_body.py +20 -0
  687. samsara/types/qualifications_post_qualification_record_service_unavailable_error_response_body.py +33 -0
  688. samsara/types/qualifications_post_qualification_record_too_many_requests_error_response_body.py +33 -0
  689. samsara/types/qualifications_post_qualification_record_unauthorized_error_response_body.py +33 -0
  690. samsara/types/qualifications_unarchive_qualification_record_bad_gateway_error_response_body.py +33 -0
  691. samsara/types/qualifications_unarchive_qualification_record_gateway_timeout_error_response_body.py +33 -0
  692. samsara/types/qualifications_unarchive_qualification_record_internal_server_error_response_body.py +33 -0
  693. samsara/types/qualifications_unarchive_qualification_record_method_not_allowed_error_response_body.py +33 -0
  694. samsara/types/qualifications_unarchive_qualification_record_not_found_error_response_body.py +33 -0
  695. samsara/types/qualifications_unarchive_qualification_record_not_implemented_error_response_body.py +33 -0
  696. samsara/types/qualifications_unarchive_qualification_record_service_unavailable_error_response_body.py +33 -0
  697. samsara/types/qualifications_unarchive_qualification_record_too_many_requests_error_response_body.py +33 -0
  698. samsara/types/qualifications_unarchive_qualification_record_unauthorized_error_response_body.py +33 -0
  699. samsara/types/quantity_object_response_body.py +33 -0
  700. samsara/types/reading_datapoint_request_body.py +50 -0
  701. samsara/types/reading_definition_response_body.py +5 -0
  702. samsara/types/reading_trigger_continuous_value_object_request_body.py +1 -1
  703. samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +15 -0
  704. samsara/types/reading_trigger_continuous_value_object_response_body.py +1 -1
  705. samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +15 -0
  706. samsara/types/readings_post_readings_bad_gateway_error_response_body.py +33 -0
  707. samsara/types/readings_post_readings_gateway_timeout_error_response_body.py +33 -0
  708. samsara/types/readings_post_readings_internal_server_error_response_body.py +33 -0
  709. samsara/types/readings_post_readings_method_not_allowed_error_response_body.py +33 -0
  710. samsara/types/readings_post_readings_not_found_error_response_body.py +33 -0
  711. samsara/types/readings_post_readings_not_implemented_error_response_body.py +33 -0
  712. samsara/types/readings_post_readings_service_unavailable_error_response_body.py +33 -0
  713. samsara/types/readings_post_readings_too_many_requests_error_response_body.py +33 -0
  714. samsara/types/readings_post_readings_unauthorized_error_response_body.py +33 -0
  715. samsara/types/reverse_geo_object_response_body.py +30 -0
  716. samsara/types/route_object_response_body.py +124 -0
  717. samsara/types/route_stop_object_response_body.py +71 -0
  718. samsara/types/routes_single_use_address_object_request_body.py +9 -0
  719. samsara/types/routes_single_use_address_object_response_body.py +9 -0
  720. samsara/types/routes_stop_response_object_response_body.py +12 -0
  721. samsara/types/safety_event_behavior_labels_response_body.py +1 -1
  722. samsara/types/safety_event_behavior_labels_response_body_type.py +1 -0
  723. samsara/types/safety_event_dismissal_reason_response_body.py +32 -0
  724. samsara/types/safety_event_dismissal_reason_response_body_code.py +7 -0
  725. samsara/types/safety_event_v_2_asset_object_response_body.py +63 -0
  726. samsara/types/safety_event_v_2_asset_object_response_body_type.py +7 -0
  727. samsara/types/safety_event_v_2_behavior_labels_response_body.py +33 -0
  728. samsara/types/safety_event_v_2_behavior_labels_response_body_label.py +64 -0
  729. samsara/types/safety_event_v_2_behavior_labels_response_body_source.py +5 -0
  730. samsara/types/safety_event_v_2_context_labels_response_body.py +38 -0
  731. samsara/types/safety_event_v_2_driver_object_response_body.py +52 -0
  732. samsara/types/safety_event_v_2_object_response_body.py +134 -0
  733. samsara/types/safety_event_v_2_object_response_body_event_state.py +10 -0
  734. samsara/types/safety_events_v_2_get_safety_events_v_2_bad_gateway_error_response_body.py +33 -0
  735. samsara/types/safety_events_v_2_get_safety_events_v_2_gateway_timeout_error_response_body.py +33 -0
  736. samsara/types/safety_events_v_2_get_safety_events_v_2_internal_server_error_response_body.py +33 -0
  737. samsara/types/safety_events_v_2_get_safety_events_v_2_method_not_allowed_error_response_body.py +33 -0
  738. samsara/types/safety_events_v_2_get_safety_events_v_2_not_found_error_response_body.py +33 -0
  739. samsara/types/safety_events_v_2_get_safety_events_v_2_not_implemented_error_response_body.py +33 -0
  740. samsara/types/safety_events_v_2_get_safety_events_v_2_response_body.py +26 -0
  741. samsara/types/safety_events_v_2_get_safety_events_v_2_service_unavailable_error_response_body.py +33 -0
  742. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_bad_gateway_error_response_body.py +33 -0
  743. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_gateway_timeout_error_response_body.py +33 -0
  744. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_internal_server_error_response_body.py +33 -0
  745. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_method_not_allowed_error_response_body.py +33 -0
  746. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_not_found_error_response_body.py +33 -0
  747. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_not_implemented_error_response_body.py +33 -0
  748. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_response_body.py +26 -0
  749. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_service_unavailable_error_response_body.py +33 -0
  750. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_too_many_requests_error_response_body.py +33 -0
  751. samsara/types/safety_events_v_2_get_safety_events_v_2_stream_unauthorized_error_response_body.py +33 -0
  752. samsara/types/safety_events_v_2_get_safety_events_v_2_too_many_requests_error_response_body.py +33 -0
  753. samsara/types/safety_events_v_2_get_safety_events_v_2_unauthorized_error_response_body.py +33 -0
  754. samsara/types/safety_score_behavior_object_response_body.py +41 -0
  755. samsara/types/safety_score_behavior_object_response_body_behavior_type.py +34 -0
  756. samsara/types/safety_score_speeding_object_response_body.py +43 -0
  757. samsara/types/safety_score_speeding_object_response_body_speeding_type.py +7 -0
  758. samsara/types/safety_scores_get_driver_safety_score_trips_bad_gateway_error_response_body.py +33 -0
  759. samsara/types/safety_scores_get_driver_safety_score_trips_gateway_timeout_error_response_body.py +33 -0
  760. samsara/types/safety_scores_get_driver_safety_score_trips_internal_server_error_response_body.py +33 -0
  761. samsara/types/safety_scores_get_driver_safety_score_trips_method_not_allowed_error_response_body.py +33 -0
  762. samsara/types/safety_scores_get_driver_safety_score_trips_not_found_error_response_body.py +33 -0
  763. samsara/types/safety_scores_get_driver_safety_score_trips_not_implemented_error_response_body.py +33 -0
  764. samsara/types/safety_scores_get_driver_safety_score_trips_response_body.py +26 -0
  765. samsara/types/safety_scores_get_driver_safety_score_trips_service_unavailable_error_response_body.py +33 -0
  766. samsara/types/safety_scores_get_driver_safety_score_trips_too_many_requests_error_response_body.py +33 -0
  767. samsara/types/safety_scores_get_driver_safety_score_trips_unauthorized_error_response_body.py +33 -0
  768. samsara/types/safety_scores_get_driver_safety_scores_bad_gateway_error_response_body.py +33 -0
  769. samsara/types/safety_scores_get_driver_safety_scores_gateway_timeout_error_response_body.py +33 -0
  770. samsara/types/safety_scores_get_driver_safety_scores_internal_server_error_response_body.py +33 -0
  771. samsara/types/safety_scores_get_driver_safety_scores_method_not_allowed_error_response_body.py +33 -0
  772. samsara/types/safety_scores_get_driver_safety_scores_not_found_error_response_body.py +33 -0
  773. samsara/types/safety_scores_get_driver_safety_scores_not_implemented_error_response_body.py +33 -0
  774. samsara/types/safety_scores_get_driver_safety_scores_response_body.py +26 -0
  775. samsara/types/safety_scores_get_driver_safety_scores_service_unavailable_error_response_body.py +33 -0
  776. samsara/types/safety_scores_get_driver_safety_scores_too_many_requests_error_response_body.py +33 -0
  777. samsara/types/safety_scores_get_driver_safety_scores_unauthorized_error_response_body.py +33 -0
  778. samsara/types/safety_scores_get_tag_group_safety_scores_bad_gateway_error_response_body.py +33 -0
  779. samsara/types/safety_scores_get_tag_group_safety_scores_gateway_timeout_error_response_body.py +33 -0
  780. samsara/types/safety_scores_get_tag_group_safety_scores_internal_server_error_response_body.py +33 -0
  781. samsara/types/safety_scores_get_tag_group_safety_scores_method_not_allowed_error_response_body.py +33 -0
  782. samsara/types/safety_scores_get_tag_group_safety_scores_not_found_error_response_body.py +33 -0
  783. samsara/types/safety_scores_get_tag_group_safety_scores_not_implemented_error_response_body.py +33 -0
  784. samsara/types/safety_scores_get_tag_group_safety_scores_response_body.py +20 -0
  785. samsara/types/safety_scores_get_tag_group_safety_scores_service_unavailable_error_response_body.py +33 -0
  786. samsara/types/safety_scores_get_tag_group_safety_scores_too_many_requests_error_response_body.py +33 -0
  787. samsara/types/safety_scores_get_tag_group_safety_scores_unauthorized_error_response_body.py +33 -0
  788. samsara/types/safety_scores_get_tag_safety_scores_bad_gateway_error_response_body.py +33 -0
  789. samsara/types/safety_scores_get_tag_safety_scores_gateway_timeout_error_response_body.py +33 -0
  790. samsara/types/safety_scores_get_tag_safety_scores_internal_server_error_response_body.py +33 -0
  791. samsara/types/safety_scores_get_tag_safety_scores_method_not_allowed_error_response_body.py +33 -0
  792. samsara/types/safety_scores_get_tag_safety_scores_not_found_error_response_body.py +33 -0
  793. samsara/types/safety_scores_get_tag_safety_scores_not_implemented_error_response_body.py +33 -0
  794. samsara/types/safety_scores_get_tag_safety_scores_response_body.py +26 -0
  795. samsara/types/safety_scores_get_tag_safety_scores_service_unavailable_error_response_body.py +33 -0
  796. samsara/types/safety_scores_get_tag_safety_scores_too_many_requests_error_response_body.py +33 -0
  797. samsara/types/safety_scores_get_tag_safety_scores_unauthorized_error_response_body.py +33 -0
  798. samsara/types/safety_scores_get_vehicle_safety_score_trips_bad_gateway_error_response_body.py +33 -0
  799. samsara/types/safety_scores_get_vehicle_safety_score_trips_gateway_timeout_error_response_body.py +33 -0
  800. samsara/types/safety_scores_get_vehicle_safety_score_trips_internal_server_error_response_body.py +33 -0
  801. samsara/types/safety_scores_get_vehicle_safety_score_trips_method_not_allowed_error_response_body.py +33 -0
  802. samsara/types/safety_scores_get_vehicle_safety_score_trips_not_found_error_response_body.py +33 -0
  803. samsara/types/safety_scores_get_vehicle_safety_score_trips_not_implemented_error_response_body.py +33 -0
  804. samsara/types/safety_scores_get_vehicle_safety_score_trips_response_body.py +26 -0
  805. samsara/types/safety_scores_get_vehicle_safety_score_trips_service_unavailable_error_response_body.py +33 -0
  806. samsara/types/safety_scores_get_vehicle_safety_score_trips_too_many_requests_error_response_body.py +33 -0
  807. samsara/types/safety_scores_get_vehicle_safety_score_trips_unauthorized_error_response_body.py +33 -0
  808. samsara/types/safety_scores_get_vehicle_safety_scores_bad_gateway_error_response_body.py +33 -0
  809. samsara/types/safety_scores_get_vehicle_safety_scores_gateway_timeout_error_response_body.py +33 -0
  810. samsara/types/safety_scores_get_vehicle_safety_scores_internal_server_error_response_body.py +33 -0
  811. samsara/types/safety_scores_get_vehicle_safety_scores_method_not_allowed_error_response_body.py +33 -0
  812. samsara/types/safety_scores_get_vehicle_safety_scores_not_found_error_response_body.py +33 -0
  813. samsara/types/safety_scores_get_vehicle_safety_scores_not_implemented_error_response_body.py +33 -0
  814. samsara/types/safety_scores_get_vehicle_safety_scores_response_body.py +26 -0
  815. samsara/types/safety_scores_get_vehicle_safety_scores_service_unavailable_error_response_body.py +33 -0
  816. samsara/types/safety_scores_get_vehicle_safety_scores_too_many_requests_error_response_body.py +33 -0
  817. samsara/types/safety_scores_get_vehicle_safety_scores_unauthorized_error_response_body.py +33 -0
  818. samsara/types/service_task_instance_input_object_request_body.py +6 -0
  819. samsara/types/service_task_instance_object_response_body.py +6 -0
  820. samsara/types/service_window_object_response_body.py +38 -0
  821. samsara/types/single_driver_efficiency_by_driver_data_object_response_body.py +47 -0
  822. samsara/types/single_driver_efficiency_by_vehicle_data_object_response_body.py +46 -0
  823. samsara/types/single_use_location_object_response_body.py +36 -0
  824. samsara/types/skill_object_response_body.py +31 -0
  825. samsara/types/standard_delete_response.py +3 -0
  826. samsara/types/start_function_run_response_body_response_body.py +28 -0
  827. samsara/types/string_data_point.py +28 -0
  828. samsara/types/tag_group_safety_score_response_body.py +54 -0
  829. samsara/types/tag_ids.py +5 -0
  830. samsara/types/tag_safety_score_response_body.py +59 -0
  831. samsara/types/tire_fault_code_details_object_request_body_specific_tire_fault_codes_item.py +2 -0
  832. samsara/types/tire_fault_code_details_object_response_body_specific_tire_fault_codes_item.py +2 -0
  833. samsara/types/total_brake_event_count.py +3 -0
  834. samsara/types/trailer_stat_decoration_response_body.py +145 -0
  835. samsara/types/trailer_stat_gps_odometer_meters_type_response_body.py +31 -0
  836. samsara/types/trailer_stat_gps_odometer_meters_with_decorations_type_response_body.py +33 -0
  837. samsara/types/trailer_stat_gps_type_response_body.py +56 -0
  838. samsara/types/trailer_stat_gps_with_decorations_type_response_body.py +58 -0
  839. samsara/types/trailer_stat_reefer_alarm_response_body.py +39 -0
  840. samsara/types/trailer_stat_reefer_alarm_type_response_body.py +32 -0
  841. samsara/types/trailer_stat_reefer_alarm_with_decorations_type_response_body.py +34 -0
  842. samsara/types/trailer_stat_reefer_ambient_air_temperature_milli_c_type_response_body.py +31 -0
  843. samsara/types/trailer_stat_reefer_ambient_air_temperature_with_decorations_type_response_body.py +33 -0
  844. samsara/types/trailer_stat_reefer_door_state_zone_1_type_response_body.py +34 -0
  845. samsara/types/trailer_stat_reefer_door_state_zone_1_type_response_body_value.py +5 -0
  846. samsara/types/trailer_stat_reefer_door_state_zone_1_with_decorations_type_response_body.py +36 -0
  847. samsara/types/trailer_stat_reefer_door_state_zone_1_with_decorations_type_response_body_value.py +7 -0
  848. samsara/types/trailer_stat_reefer_door_state_zone_2_type_response_body.py +34 -0
  849. samsara/types/trailer_stat_reefer_door_state_zone_2_type_response_body_value.py +5 -0
  850. samsara/types/trailer_stat_reefer_door_state_zone_2_with_decorations_type_response_body.py +36 -0
  851. samsara/types/trailer_stat_reefer_door_state_zone_2_with_decorations_type_response_body_value.py +7 -0
  852. samsara/types/trailer_stat_reefer_door_state_zone_3_type_response_body.py +34 -0
  853. samsara/types/trailer_stat_reefer_door_state_zone_3_type_response_body_value.py +5 -0
  854. samsara/types/trailer_stat_reefer_door_state_zone_3_with_decorations_type_response_body.py +36 -0
  855. samsara/types/trailer_stat_reefer_door_state_zone_3_with_decorations_type_response_body_value.py +7 -0
  856. samsara/types/trailer_stat_reefer_fuel_percent_type_response_body.py +31 -0
  857. samsara/types/trailer_stat_reefer_fuel_percent_with_decorations_type_response_body.py +33 -0
  858. samsara/types/trailer_stat_reefer_obd_engine_seconds_type_response_body.py +31 -0
  859. samsara/types/trailer_stat_reefer_obd_engine_seconds_with_decorations_type_response_body.py +33 -0
  860. samsara/types/trailer_stat_reefer_return_air_temperature_milli_c_zone_1_type_response_body.py +31 -0
  861. samsara/types/trailer_stat_reefer_return_air_temperature_milli_c_zone_1_with_decorations_type_response_body.py +33 -0
  862. samsara/types/trailer_stat_reefer_return_air_temperature_milli_c_zone_2_type_response_body.py +31 -0
  863. samsara/types/trailer_stat_reefer_return_air_temperature_milli_c_zone_2_with_decorations_type_response_body.py +33 -0
  864. samsara/types/trailer_stat_reefer_return_air_temperature_milli_c_zone_3_type_response_body.py +31 -0
  865. samsara/types/trailer_stat_reefer_return_air_temperature_milli_c_zone_3_with_decorations_type_response_body.py +33 -0
  866. samsara/types/trailer_stat_reefer_run_mode_type_response_body.py +31 -0
  867. samsara/types/trailer_stat_reefer_run_mode_with_decorations_type_response_body.py +33 -0
  868. samsara/types/trailer_stat_reefer_set_point_temperature_milli_c_zone_1_type_response_body.py +31 -0
  869. samsara/types/trailer_stat_reefer_set_point_temperature_milli_c_zone_1_with_decorations_type_response_body.py +33 -0
  870. samsara/types/trailer_stat_reefer_set_point_temperature_milli_c_zone_2_type_response_body.py +31 -0
  871. samsara/types/trailer_stat_reefer_set_point_temperature_milli_c_zone_2_with_decorations_type_response_body.py +33 -0
  872. samsara/types/trailer_stat_reefer_set_point_temperature_milli_c_zone_3_type_response_body.py +31 -0
  873. samsara/types/trailer_stat_reefer_set_point_temperature_milli_c_zone_3_with_decorations_type_response_body.py +33 -0
  874. samsara/types/trailer_stat_reefer_state_type_response_body.py +40 -0
  875. samsara/types/trailer_stat_reefer_state_with_decorations_type_response_body.py +42 -0
  876. samsara/types/trailer_stat_reefer_state_zone_1_type_response_body.py +40 -0
  877. samsara/types/trailer_stat_reefer_state_zone_1_with_decorations_type_response_body.py +42 -0
  878. samsara/types/trailer_stat_reefer_state_zone_2_type_response_body.py +40 -0
  879. samsara/types/trailer_stat_reefer_state_zone_2_with_decorations_type_response_body.py +42 -0
  880. samsara/types/trailer_stat_reefer_state_zone_3_type_response_body.py +40 -0
  881. samsara/types/trailer_stat_reefer_state_zone_3_with_decorations_type_response_body.py +42 -0
  882. samsara/types/trailer_stat_reefer_supply_air_temperature_milli_c_zone_1_type_response_body.py +31 -0
  883. samsara/types/trailer_stat_reefer_supply_air_temperature_milli_c_zone_1_with_decorations_type_response_body.py +33 -0
  884. samsara/types/trailer_stat_reefer_supply_air_temperature_milli_c_zone_2_type_response_body.py +31 -0
  885. samsara/types/trailer_stat_reefer_supply_air_temperature_milli_c_zone_2_with_decorations_type_response_body.py +33 -0
  886. samsara/types/trailer_stat_reefer_supply_air_temperature_milli_c_zone_3_type_response_body.py +31 -0
  887. samsara/types/trailer_stat_reefer_supply_air_temperature_milli_c_zone_3_with_decorations_type_response_body.py +33 -0
  888. samsara/types/trailer_stats_get_trailer_stats_feed_bad_gateway_error_response_body.py +33 -0
  889. samsara/types/trailer_stats_get_trailer_stats_feed_gateway_timeout_error_response_body.py +33 -0
  890. samsara/types/trailer_stats_get_trailer_stats_feed_internal_server_error_response_body.py +33 -0
  891. samsara/types/trailer_stats_get_trailer_stats_feed_method_not_allowed_error_response_body.py +33 -0
  892. samsara/types/trailer_stats_get_trailer_stats_feed_not_found_error_response_body.py +33 -0
  893. samsara/types/trailer_stats_get_trailer_stats_feed_not_implemented_error_response_body.py +33 -0
  894. samsara/types/trailer_stats_get_trailer_stats_feed_response_body.py +26 -0
  895. samsara/types/trailer_stats_get_trailer_stats_feed_service_unavailable_error_response_body.py +33 -0
  896. samsara/types/trailer_stats_get_trailer_stats_feed_too_many_requests_error_response_body.py +33 -0
  897. samsara/types/trailer_stats_get_trailer_stats_feed_unauthorized_error_response_body.py +33 -0
  898. samsara/types/trailer_stats_get_trailer_stats_history_bad_gateway_error_response_body.py +33 -0
  899. samsara/types/trailer_stats_get_trailer_stats_history_gateway_timeout_error_response_body.py +33 -0
  900. samsara/types/trailer_stats_get_trailer_stats_history_internal_server_error_response_body.py +33 -0
  901. samsara/types/trailer_stats_get_trailer_stats_history_method_not_allowed_error_response_body.py +33 -0
  902. samsara/types/trailer_stats_get_trailer_stats_history_not_found_error_response_body.py +33 -0
  903. samsara/types/trailer_stats_get_trailer_stats_history_not_implemented_error_response_body.py +33 -0
  904. samsara/types/trailer_stats_get_trailer_stats_history_response_body.py +26 -0
  905. samsara/types/trailer_stats_get_trailer_stats_history_service_unavailable_error_response_body.py +33 -0
  906. samsara/types/trailer_stats_get_trailer_stats_history_too_many_requests_error_response_body.py +33 -0
  907. samsara/types/trailer_stats_get_trailer_stats_history_unauthorized_error_response_body.py +33 -0
  908. samsara/types/trailer_stats_get_trailer_stats_snapshot_bad_gateway_error_response_body.py +33 -0
  909. samsara/types/trailer_stats_get_trailer_stats_snapshot_gateway_timeout_error_response_body.py +33 -0
  910. samsara/types/trailer_stats_get_trailer_stats_snapshot_internal_server_error_response_body.py +33 -0
  911. samsara/types/trailer_stats_get_trailer_stats_snapshot_method_not_allowed_error_response_body.py +33 -0
  912. samsara/types/trailer_stats_get_trailer_stats_snapshot_not_found_error_response_body.py +33 -0
  913. samsara/types/trailer_stats_get_trailer_stats_snapshot_not_implemented_error_response_body.py +33 -0
  914. samsara/types/trailer_stats_get_trailer_stats_snapshot_response_body.py +26 -0
  915. samsara/types/trailer_stats_get_trailer_stats_snapshot_service_unavailable_error_response_body.py +33 -0
  916. samsara/types/trailer_stats_get_trailer_stats_snapshot_too_many_requests_error_response_body.py +33 -0
  917. samsara/types/trailer_stats_get_trailer_stats_snapshot_unauthorized_error_response_body.py +33 -0
  918. samsara/types/trailer_stats_object_response_body.py +281 -0
  919. samsara/types/trailer_stats_snapshot_object_response_body.py +155 -0
  920. samsara/types/trips_breakdown_response_body.py +67 -0
  921. samsara/types/unit_response_body.py +2 -2
  922. samsara/types/unit_response_body_base_unit.py +15 -0
  923. samsara/types/unit_response_body_measurement_type.py +4 -0
  924. samsara/types/update_engine_immobilizer_relay_state_request_body_request_body.py +36 -0
  925. samsara/types/update_engine_immobilizer_relay_state_request_body_request_body_id.py +5 -0
  926. samsara/types/update_hub_location_request_body_request_body.py +93 -0
  927. samsara/types/uploaded_media_object_response_body.py +9 -1
  928. samsara/types/uploaded_media_object_response_body_camera_role.py +28 -0
  929. samsara/types/uploaded_media_object_response_body_input.py +2 -1
  930. samsara/types/v_1_asset.py +56 -0
  931. samsara/types/v_1_asset_cable.py +30 -0
  932. samsara/types/v_1_asset_current_location.py +52 -0
  933. samsara/types/v_1_asset_current_locations_response.py +55 -0
  934. samsara/types/v_1_asset_location_response.py +7 -0
  935. samsara/types/v_1_asset_location_response_item.py +50 -0
  936. samsara/types/v_1_asset_reefer_response.py +45 -0
  937. samsara/types/v_1_asset_reefer_response_reefer_stats.py +67 -0
  938. samsara/types/v_1_asset_reefer_response_reefer_stats_alarms.py +43 -0
  939. samsara/types/v_1_asset_reefer_response_reefer_stats_alarms_1.py +28 -0
  940. samsara/types/v_1_asset_reefer_response_reefer_stats_engine_hours.py +33 -0
  941. samsara/types/v_1_asset_reefer_response_reefer_stats_fuel_percentage.py +33 -0
  942. samsara/types/v_1_asset_reefer_response_reefer_stats_power_status.py +31 -0
  943. samsara/types/v_1_asset_reefer_response_reefer_stats_return_air_temp.py +33 -0
  944. samsara/types/v_1_asset_reefer_response_reefer_stats_set_point.py +33 -0
  945. samsara/types/v_1_assets_reefer.py +45 -0
  946. samsara/types/v_1_assets_reefer_reefer_stats.py +91 -0
  947. samsara/types/v_1_assets_reefer_reefer_stats_ambient_air_temperature.py +33 -0
  948. samsara/types/v_1_assets_reefer_reefer_stats_discharge_air_temperature.py +33 -0
  949. samsara/types/v_1_assets_reefer_reefer_stats_power_status.py +32 -0
  950. samsara/types/v_1_assets_reefer_reefer_stats_power_status_status.py +7 -0
  951. samsara/types/v_1_cargo_response.py +33 -0
  952. samsara/types/v_1_cargo_response_sensors.py +64 -0
  953. samsara/types/v_1_door_response.py +33 -0
  954. samsara/types/v_1_door_response_sensors.py +57 -0
  955. samsara/types/v_1_driver_safety_score_response.py +104 -0
  956. samsara/types/v_1_hos_authentication_logs_response.py +25 -0
  957. samsara/types/v_1_hos_authentication_logs_response_authentication_logs.py +55 -0
  958. samsara/types/v_1_humidity_response.py +33 -0
  959. samsara/types/v_1_humidity_response_sensors.py +55 -0
  960. samsara/types/v_1_machine.py +36 -0
  961. samsara/types/v_1_machine_history_response.py +24 -0
  962. samsara/types/v_1_machine_history_response_machines.py +33 -0
  963. samsara/types/v_1_machine_history_response_vibrations.py +24 -0
  964. samsara/types/v_1_pagination.py +39 -0
  965. samsara/types/v_1_programs_for_the_camera_response.py +7 -0
  966. samsara/types/v_1_programs_for_the_camera_response_item.py +22 -0
  967. samsara/types/v_1_safety_report_harsh_event.py +44 -0
  968. samsara/types/v_1_sensor.py +40 -0
  969. samsara/types/v_1_sensor_history_response.py +24 -0
  970. samsara/types/v_1_sensor_history_response_results.py +31 -0
  971. samsara/types/v_1_sensors_history_series.py +34 -0
  972. samsara/types/v_1_sensors_history_series_field.py +25 -0
  973. samsara/types/v_1_temperature_response.py +33 -0
  974. samsara/types/v_1_temperature_response_sensors.py +71 -0
  975. samsara/types/v_1_trailer_assignment_response.py +40 -0
  976. samsara/types/v_1_trailer_assignments_response.py +19 -0
  977. samsara/types/v_1_trailer_assignments_response_all_of.py +24 -0
  978. samsara/types/v_1_trailer_base.py +27 -0
  979. samsara/types/v_1_trip_response.py +24 -0
  980. samsara/types/v_1_trip_response_end_address.py +36 -0
  981. samsara/types/v_1_trip_response_end_coordinates.py +24 -0
  982. samsara/types/v_1_trip_response_start_address.py +36 -0
  983. samsara/types/v_1_trip_response_start_coordinates.py +24 -0
  984. samsara/types/v_1_trip_response_trips.py +119 -0
  985. samsara/types/v_1_vehicle_harsh_event_response.py +64 -0
  986. samsara/types/v_1_vehicle_harsh_event_response_location.py +32 -0
  987. samsara/types/v_1_vehicle_maintenance.py +33 -0
  988. samsara/types/v_1_vehicle_maintenance_j_1939.py +36 -0
  989. samsara/types/v_1_vehicle_maintenance_j_1939_check_engine_light.py +28 -0
  990. samsara/types/v_1_vehicle_maintenance_j_1939_diagnostic_trouble_codes.py +26 -0
  991. samsara/types/v_1_vehicle_maintenance_passenger.py +38 -0
  992. samsara/types/v_1_vehicle_maintenance_passenger_check_engine_light.py +25 -0
  993. samsara/types/v_1_vehicle_maintenance_passenger_diagnostic_trouble_codes.py +23 -0
  994. samsara/types/v_1_vehicle_safety_score_response.py +104 -0
  995. samsara/types/v_1_vision_cameras_response.py +7 -0
  996. samsara/types/v_1_vision_cameras_response_item.py +24 -0
  997. samsara/types/v_1_vision_run_by_camera_response.py +35 -0
  998. samsara/types/v_1_vision_run_by_camera_response_inspection_results.py +26 -0
  999. samsara/types/v_1_vision_run_by_camera_response_program.py +20 -0
  1000. samsara/types/v_1_vision_run_by_camera_response_run_summary.py +24 -0
  1001. samsara/types/v_1_vision_runs_by_camera_and_program_response.py +30 -0
  1002. samsara/types/v_1_vision_runs_by_camera_response.py +7 -0
  1003. samsara/types/v_1_vision_runs_by_camera_response_item.py +29 -0
  1004. samsara/types/v_1_vision_runs_by_camera_response_item_program.py +20 -0
  1005. samsara/types/v_1_vision_runs_by_camera_response_item_report_metadata.py +24 -0
  1006. samsara/types/v_1_vision_runs_response.py +24 -0
  1007. samsara/types/v_1_vision_runs_response_report_metadata.py +51 -0
  1008. samsara/types/v_1_vision_runs_response_vision_runs.py +28 -0
  1009. samsara/types/v_1_vision_step_results.py +7 -0
  1010. samsara/types/v_1_vision_step_results_item.py +68 -0
  1011. samsara/types/v_1_vision_step_results_item_angle_check.py +48 -0
  1012. samsara/types/v_1_vision_step_results_item_angle_check_angle_configured.py +24 -0
  1013. samsara/types/v_1_vision_step_results_item_barcode_item.py +23 -0
  1014. samsara/types/v_1_vision_step_results_item_boolean_logic.py +21 -0
  1015. samsara/types/v_1_vision_step_results_item_boolean_logic_steps_item.py +20 -0
  1016. samsara/types/v_1_vision_step_results_item_caliper.py +85 -0
  1017. samsara/types/v_1_vision_step_results_item_caliper_angle_range.py +24 -0
  1018. samsara/types/v_1_vision_step_results_item_caliper_contrast_range.py +24 -0
  1019. samsara/types/v_1_vision_step_results_item_caliper_filter_polarity.py +7 -0
  1020. samsara/types/v_1_vision_step_results_item_caliper_sharpness_range.py +24 -0
  1021. samsara/types/v_1_vision_step_results_item_caliper_straightness_range.py +24 -0
  1022. samsara/types/v_1_vision_step_results_item_contour.py +47 -0
  1023. samsara/types/v_1_vision_step_results_item_distance.py +87 -0
  1024. samsara/types/v_1_vision_step_results_item_expiration_date.py +23 -0
  1025. samsara/types/v_1_vision_step_results_item_find_copies.py +52 -0
  1026. samsara/types/v_1_vision_step_results_item_find_edge.py +86 -0
  1027. samsara/types/v_1_vision_step_results_item_find_edge_angle_range.py +24 -0
  1028. samsara/types/v_1_vision_step_results_item_find_edge_contrast_range.py +24 -0
  1029. samsara/types/v_1_vision_step_results_item_find_edge_sharpness_range.py +24 -0
  1030. samsara/types/v_1_vision_step_results_item_find_edge_straightness_range.py +24 -0
  1031. samsara/types/v_1_vision_step_results_item_find_shapes.py +23 -0
  1032. samsara/types/v_1_vision_step_results_item_fixture.py +24 -0
  1033. samsara/types/v_1_vision_step_results_item_fixture_coordinates.py +20 -0
  1034. samsara/types/v_1_vision_step_results_item_label_match.py +20 -0
  1035. samsara/types/v_1_vision_step_results_item_presence_absence.py +55 -0
  1036. samsara/types/v_1_vision_step_results_item_presence_absence_blue_range.py +20 -0
  1037. samsara/types/v_1_vision_step_results_item_presence_absence_grayscale_range.py +20 -0
  1038. samsara/types/v_1_vision_step_results_item_presence_absence_green_range.py +20 -0
  1039. samsara/types/v_1_vision_step_results_item_presence_absence_hue_range.py +20 -0
  1040. samsara/types/v_1_vision_step_results_item_presence_absence_red_range.py +20 -0
  1041. samsara/types/v_1_vision_step_results_item_presence_absence_saturation_range.py +20 -0
  1042. samsara/types/v_1_vision_step_results_item_presence_absence_value_range.py +20 -0
  1043. samsara/types/v_1_vision_step_results_item_text_match.py +22 -0
  1044. samsara/types/vehicle_fault_code_details_object_request_body.py +7 -0
  1045. samsara/types/vehicle_fault_code_details_object_response_body.py +7 -0
  1046. samsara/types/vehicle_safety_score_response_body.py +59 -0
  1047. samsara/types/vehicle_stats_decorations.py +9 -0
  1048. samsara/types/vehicle_stats_decorations_fuel_consumed_milliliters.py +20 -0
  1049. samsara/types/vehicle_stats_decorations_idling_duration_milliseconds.py +20 -0
  1050. samsara/types/vehicle_stats_fuel_consumed_milliliters.py +28 -0
  1051. samsara/types/vehicle_stats_fuel_consumed_milliliters_value.py +3 -0
  1052. samsara/types/vehicle_stats_fuel_consumed_milliliters_with_decoration.py +30 -0
  1053. samsara/types/vehicle_stats_idling_duration_milliseconds.py +28 -0
  1054. samsara/types/vehicle_stats_idling_duration_milliseconds_value.py +3 -0
  1055. samsara/types/vehicle_stats_idling_duration_milliseconds_with_decoration.py +30 -0
  1056. samsara/types/vehicle_stats_list_response_data.py +20 -0
  1057. samsara/types/vehicle_stats_response_data.py +8 -0
  1058. samsara/types/vehicle_stats_synthetic_engine_seconds.py +1 -1
  1059. samsara/types/vehicle_summary.py +68 -0
  1060. samsara/types/vehicles_lock_lock_vehicle_bad_gateway_error_response_body.py +33 -0
  1061. samsara/types/vehicles_lock_lock_vehicle_gateway_timeout_error_response_body.py +33 -0
  1062. samsara/types/vehicles_lock_lock_vehicle_internal_server_error_response_body.py +33 -0
  1063. samsara/types/vehicles_lock_lock_vehicle_method_not_allowed_error_response_body.py +33 -0
  1064. samsara/types/vehicles_lock_lock_vehicle_not_found_error_response_body.py +33 -0
  1065. samsara/types/vehicles_lock_lock_vehicle_not_implemented_error_response_body.py +33 -0
  1066. samsara/types/vehicles_lock_lock_vehicle_service_unavailable_error_response_body.py +33 -0
  1067. samsara/types/vehicles_lock_lock_vehicle_too_many_requests_error_response_body.py +33 -0
  1068. samsara/types/vehicles_lock_lock_vehicle_unauthorized_error_response_body.py +33 -0
  1069. samsara/types/vehicles_lock_unlock_vehicle_bad_gateway_error_response_body.py +33 -0
  1070. samsara/types/vehicles_lock_unlock_vehicle_gateway_timeout_error_response_body.py +33 -0
  1071. samsara/types/vehicles_lock_unlock_vehicle_internal_server_error_response_body.py +33 -0
  1072. samsara/types/vehicles_lock_unlock_vehicle_method_not_allowed_error_response_body.py +33 -0
  1073. samsara/types/vehicles_lock_unlock_vehicle_not_found_error_response_body.py +33 -0
  1074. samsara/types/vehicles_lock_unlock_vehicle_not_implemented_error_response_body.py +33 -0
  1075. samsara/types/vehicles_lock_unlock_vehicle_service_unavailable_error_response_body.py +33 -0
  1076. samsara/types/vehicles_lock_unlock_vehicle_too_many_requests_error_response_body.py +33 -0
  1077. samsara/types/vehicles_lock_unlock_vehicle_unauthorized_error_response_body.py +33 -0
  1078. samsara/types/webhook_response_response_body_event_types_item.py +2 -0
  1079. samsara/types/webhooks_get_webhook_response_body_event_types_item.py +2 -0
  1080. samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +2 -0
  1081. samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +2 -0
  1082. samsara/types/work_order_object_response_body.py +21 -0
  1083. samsara/types/work_order_tax_create_object_request_body.py +33 -0
  1084. samsara/types/workflow_incident_details_object_response_body.py +4 -0
  1085. samsara/users/__init__.py +28 -1
  1086. samsara/users/client.py +147 -51
  1087. samsara/users/raw_client.py +138 -61
  1088. samsara/users/types/__init__.py +32 -2
  1089. samsara/vehicle_locations/client.py +485 -0
  1090. samsara/vehicle_locations/raw_client.py +472 -0
  1091. samsara/vehicle_stats/__init__.py +52 -0
  1092. samsara/vehicle_stats/client.py +1092 -0
  1093. samsara/vehicle_stats/raw_client.py +1091 -0
  1094. samsara/vehicle_stats/types/__init__.py +50 -0
  1095. samsara/vehicle_stats/types/get_vehicle_stats_feed_request_decorations_item.py +57 -0
  1096. samsara/vehicle_stats/types/get_vehicle_stats_feed_request_types_item.py +71 -0
  1097. samsara/vehicle_stats/types/get_vehicle_stats_history_request_decorations_item.py +57 -0
  1098. samsara/vehicle_stats/types/get_vehicle_stats_history_request_types_item.py +71 -0
  1099. samsara/vehicle_stats/types/get_vehicle_stats_request_types_item.py +71 -0
  1100. samsara/vehicles/__init__.py +58 -32
  1101. samsara/vehicles/client.py +20 -17
  1102. samsara/vehicles/raw_client.py +2 -2
  1103. samsara/vehicles/types/__init__.py +56 -14
  1104. samsara/webhooks/__init__.py +36 -5
  1105. samsara/webhooks/client.py +47 -47
  1106. samsara/webhooks/raw_client.py +18 -51
  1107. samsara/webhooks/types/__init__.py +34 -3
  1108. samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +2 -0
  1109. samsara/work_orders/__init__.py +55 -0
  1110. samsara/work_orders/client.py +995 -0
  1111. samsara/work_orders/raw_client.py +2258 -0
  1112. samsara/work_orders/types/__init__.py +53 -0
  1113. samsara/work_orders/types/stream_work_orders_request_work_order_statuses_item.py +18 -0
  1114. samsara_api-4.0.1.dist-info/METADATA +670 -0
  1115. samsara_api-4.0.1.dist-info/RECORD +3387 -0
  1116. samsara/alerts/configurations/__init__.py +0 -7
  1117. samsara/alerts/configurations/client.py +0 -720
  1118. samsara/alerts/configurations/raw_client.py +0 -1552
  1119. samsara/alerts/configurations/types/__init__.py +0 -7
  1120. samsara/alerts/configurations/types/configurations_list_request_status.py +0 -5
  1121. samsara/alerts/incidents/client.py +0 -180
  1122. samsara/alerts/incidents/raw_client.py +0 -396
  1123. samsara/assets/location_and_speed/client.py +0 -226
  1124. samsara/assets/location_and_speed/raw_client.py +0 -458
  1125. samsara/attributes/types/attributes_delete_request_entity_type.py +0 -5
  1126. samsara/attributes/types/attributes_get_request_entity_type.py +0 -5
  1127. samsara/attributes/types/attributes_list_request_entity_type.py +0 -5
  1128. samsara/attributes/types/create_attribute_request_attribute_value_quantity.py +0 -5
  1129. samsara/attributes/types/update_attribute_request_attribute_value_quantity.py +0 -5
  1130. samsara/auth/__init__.py +0 -8
  1131. samsara/auth/client.py +0 -39
  1132. samsara/auth/raw_client.py +0 -13
  1133. samsara/auth/tokens/__init__.py +0 -7
  1134. samsara/auth/tokens/client.py +0 -185
  1135. samsara/auth/tokens/raw_client.py +0 -210
  1136. samsara/auth/tokens/types/__init__.py +0 -7
  1137. samsara/auth/tokens/types/create_tokens_response.py +0 -23
  1138. samsara/cameras/__init__.py +0 -13
  1139. samsara/cameras/client.py +0 -39
  1140. samsara/cameras/media/__init__.py +0 -19
  1141. samsara/cameras/media/client.py +0 -232
  1142. samsara/cameras/media/raw_client.py +0 -417
  1143. samsara/cameras/media/retrieval/__init__.py +0 -13
  1144. samsara/cameras/media/retrieval/client.py +0 -286
  1145. samsara/cameras/media/retrieval/raw_client.py +0 -686
  1146. samsara/cameras/media/retrieval/types/__init__.py +0 -15
  1147. samsara/cameras/media/retrieval/types/media_retrieval_post_media_retrieval_request_body_inputs_item.py +0 -7
  1148. samsara/cameras/media/types/__init__.py +0 -9
  1149. samsara/cameras/media/types/media_list_request_inputs_item.py +0 -7
  1150. samsara/cameras/media/types/media_list_request_media_types_item.py +0 -5
  1151. samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +0 -17
  1152. samsara/cameras/raw_client.py +0 -13
  1153. samsara/coaching/driver_coach_assignments/client.py +0 -285
  1154. samsara/coaching/driver_coach_assignments/raw_client.py +0 -716
  1155. samsara/coaching/sessions/client.py +0 -228
  1156. samsara/coaching/sessions/raw_client.py +0 -448
  1157. samsara/defect_types/client.py +0 -156
  1158. samsara/defect_types/raw_client.py +0 -384
  1159. samsara/defects/client.py +0 -583
  1160. samsara/defects/raw_client.py +0 -1028
  1161. samsara/devices/client.py +0 -190
  1162. samsara/devices/raw_client.py +0 -412
  1163. samsara/document_types/client.py +0 -134
  1164. samsara/document_types/raw_client.py +0 -354
  1165. samsara/documents/pdfs/client.py +0 -206
  1166. samsara/documents/pdfs/raw_client.py +0 -212
  1167. samsara/driver_trailer_assignments/client.py +0 -389
  1168. samsara/driver_trailer_assignments/raw_client.py +0 -1044
  1169. samsara/driver_vehicle_assignments/types/driver_vehicle_assignments_get_request_assignment_type.py +0 -10
  1170. samsara/driver_vehicle_assignments/types/driver_vehicle_assignments_get_request_filter_by.py +0 -5
  1171. samsara/drivers/qr_codes/client.py +0 -304
  1172. samsara/drivers/qr_codes/raw_client.py +0 -926
  1173. samsara/drivers/vehicle_assignments/__init__.py +0 -7
  1174. samsara/drivers/vehicle_assignments/client.py +0 -201
  1175. samsara/drivers/vehicle_assignments/raw_client.py +0 -397
  1176. samsara/drivers/vehicle_assignments/types/__init__.py +0 -9
  1177. samsara/drivers/vehicle_assignments/types/vehicle_assignments_list_request_driver_activation_status.py +0 -5
  1178. samsara/dvirs/__init__.py +0 -7
  1179. samsara/dvirs/client.py +0 -775
  1180. samsara/dvirs/raw_client.py +0 -1223
  1181. samsara/dvirs/types/__init__.py +0 -7
  1182. samsara/equipment/locations/client.py +0 -467
  1183. samsara/equipment/locations/raw_client.py +0 -543
  1184. samsara/equipment/stats/__init__.py +0 -7
  1185. samsara/equipment/stats/client.py +0 -602
  1186. samsara/equipment/stats/raw_client.py +0 -684
  1187. samsara/equipment/stats/types/__init__.py +0 -9
  1188. samsara/equipment/stats/types/stats_feed_request_types_item.py +0 -19
  1189. samsara/equipment/stats/types/stats_history_request_types_item.py +0 -19
  1190. samsara/equipment/stats/types/stats_list_request_types_item.py +0 -19
  1191. samsara/form_submissions/__init__.py +0 -8
  1192. samsara/form_submissions/client.py +0 -669
  1193. samsara/form_submissions/pdf_exports/client.py +0 -221
  1194. samsara/form_submissions/pdf_exports/raw_client.py +0 -627
  1195. samsara/form_submissions/raw_client.py +0 -1550
  1196. samsara/form_submissions/types/__init__.py +0 -9
  1197. samsara/fuel_purchases/__init__.py +0 -7
  1198. samsara/fuel_purchases/client.py +0 -219
  1199. samsara/fuel_purchases/raw_client.py +0 -410
  1200. samsara/fuel_purchases/types/__init__.py +0 -9
  1201. samsara/hos/__init__.py +0 -7
  1202. samsara/hos/client.py +0 -695
  1203. samsara/hos/raw_client.py +0 -1177
  1204. samsara/hos/types/__init__.py +0 -7
  1205. samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +0 -5
  1206. samsara/idling/types/idling_list_request_pto_state.py +0 -5
  1207. samsara/ifta/csv/__init__.py +0 -4
  1208. samsara/ifta/csv/client.py +0 -274
  1209. samsara/ifta/csv/raw_client.py +0 -675
  1210. samsara/inputs/__init__.py +0 -7
  1211. samsara/inputs/client.py +0 -223
  1212. samsara/inputs/raw_client.py +0 -445
  1213. samsara/inputs/types/__init__.py +0 -7
  1214. samsara/inputs/types/inputs_stream_request_type.py +0 -27
  1215. samsara/live_shares/__init__.py +0 -7
  1216. samsara/live_shares/client.py +0 -544
  1217. samsara/live_shares/raw_client.py +0 -1418
  1218. samsara/live_shares/types/__init__.py +0 -10
  1219. samsara/live_shares/types/live_shares_list_request_type.py +0 -7
  1220. samsara/maintenance/service_tasks/__init__.py +0 -4
  1221. samsara/maintenance/service_tasks/client.py +0 -322
  1222. samsara/maintenance/service_tasks/raw_client.py +0 -529
  1223. samsara/maintenance/work_orders/__init__.py +0 -21
  1224. samsara/maintenance/work_orders/client.py +0 -867
  1225. samsara/maintenance/work_orders/raw_client.py +0 -1980
  1226. samsara/maintenance/work_orders/types/__init__.py +0 -19
  1227. samsara/maintenance/work_orders/types/work_orders_stream_request_work_order_statuses_item.py +0 -18
  1228. samsara/me/__init__.py +0 -4
  1229. samsara/me/client.py +0 -108
  1230. samsara/me/raw_client.py +0 -99
  1231. samsara/readings/__init__.py +0 -4
  1232. samsara/readings/client.py +0 -524
  1233. samsara/readings/raw_client.py +0 -1214
  1234. samsara/reports/__init__.py +0 -7
  1235. samsara/reports/client.py +0 -49
  1236. samsara/reports/drivers/__init__.py +0 -7
  1237. samsara/reports/drivers/client.py +0 -39
  1238. samsara/reports/drivers/fuel_energy/__init__.py +0 -4
  1239. samsara/reports/drivers/fuel_energy/client.py +0 -194
  1240. samsara/reports/drivers/fuel_energy/raw_client.py +0 -384
  1241. samsara/reports/drivers/raw_client.py +0 -13
  1242. samsara/reports/ifta/__init__.py +0 -18
  1243. samsara/reports/ifta/client.py +0 -44
  1244. samsara/reports/ifta/jurisdiction/__init__.py +0 -7
  1245. samsara/reports/ifta/jurisdiction/client.py +0 -217
  1246. samsara/reports/ifta/jurisdiction/raw_client.py +0 -409
  1247. samsara/reports/ifta/jurisdiction/types/__init__.py +0 -9
  1248. samsara/reports/ifta/jurisdiction/types/jurisdiction_get_request_fuel_type.py +0 -25
  1249. samsara/reports/ifta/jurisdiction/types/jurisdiction_get_request_month.py +0 -21
  1250. samsara/reports/ifta/jurisdiction/types/jurisdiction_get_request_quarter.py +0 -5
  1251. samsara/reports/ifta/raw_client.py +0 -13
  1252. samsara/reports/ifta/vehicle/__init__.py +0 -7
  1253. samsara/reports/ifta/vehicle/client.py +0 -227
  1254. samsara/reports/ifta/vehicle/raw_client.py +0 -419
  1255. samsara/reports/ifta/vehicle/types/__init__.py +0 -9
  1256. samsara/reports/ifta/vehicle/types/vehicle_list_request_fuel_type.py +0 -25
  1257. samsara/reports/ifta/vehicle/types/vehicle_list_request_month.py +0 -21
  1258. samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +0 -5
  1259. samsara/reports/raw_client.py +0 -13
  1260. samsara/reports/vehicles/__init__.py +0 -8
  1261. samsara/reports/vehicles/client.py +0 -44
  1262. samsara/reports/vehicles/fuel_energy/__init__.py +0 -7
  1263. samsara/reports/vehicles/fuel_energy/client.py +0 -205
  1264. samsara/reports/vehicles/fuel_energy/raw_client.py +0 -395
  1265. samsara/reports/vehicles/fuel_energy/types/__init__.py +0 -7
  1266. samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +0 -5
  1267. samsara/reports/vehicles/idling/__init__.py +0 -4
  1268. samsara/reports/vehicles/idling/client.py +0 -236
  1269. samsara/reports/vehicles/idling/raw_client.py +0 -462
  1270. samsara/reports/vehicles/raw_client.py +0 -13
  1271. samsara/routes/audit_logs/__init__.py +0 -4
  1272. samsara/routes/audit_logs/client.py +0 -146
  1273. samsara/routes/audit_logs/raw_client.py +0 -350
  1274. samsara/safety_events/__init__.py +0 -7
  1275. samsara/safety_events/audit_logs/__init__.py +0 -4
  1276. samsara/safety_events/audit_logs/client.py +0 -160
  1277. samsara/safety_events/audit_logs/raw_client.py +0 -386
  1278. samsara/safety_events/client.py +0 -199
  1279. samsara/safety_events/raw_client.py +0 -207
  1280. samsara/settings/compliance/__init__.py +0 -4
  1281. samsara/settings/compliance/client.py +0 -308
  1282. samsara/settings/compliance/raw_client.py +0 -718
  1283. samsara/settings/driver_app/__init__.py +0 -4
  1284. samsara/settings/driver_app/client.py +0 -270
  1285. samsara/settings/driver_app/raw_client.py +0 -697
  1286. samsara/settings/safety/__init__.py +0 -4
  1287. samsara/settings/safety/client.py +0 -118
  1288. samsara/settings/safety/raw_client.py +0 -314
  1289. samsara/speeding_intervals/types/speeding_intervals_stream_request_query_by.py +0 -5
  1290. samsara/tachograph/__init__.py +0 -7
  1291. samsara/tachograph/client.py +0 -44
  1292. samsara/tachograph/driver/__init__.py +0 -4
  1293. samsara/tachograph/driver/client.py +0 -337
  1294. samsara/tachograph/driver/raw_client.py +0 -322
  1295. samsara/tachograph/raw_client.py +0 -13
  1296. samsara/tachograph/vehicles/__init__.py +0 -4
  1297. samsara/tachograph/vehicles/client.py +0 -190
  1298. samsara/tachograph/vehicles/raw_client.py +0 -173
  1299. samsara/training_assignments/__init__.py +0 -4
  1300. samsara/training_assignments/client.py +0 -520
  1301. samsara/training_assignments/raw_client.py +0 -1326
  1302. samsara/training_courses/__init__.py +0 -4
  1303. samsara/training_courses/client.py +0 -178
  1304. samsara/training_courses/raw_client.py +0 -398
  1305. samsara/trips/types/__init__.py +0 -8
  1306. samsara/trips/types/trips_stream_request_completion_status.py +0 -5
  1307. samsara/trips/types/trips_stream_request_query_by.py +0 -5
  1308. samsara/types/alert_event.py +0 -74
  1309. samsara/types/alert_event_alert_condition_id.py +0 -40
  1310. samsara/types/alert_event_device.py +0 -37
  1311. samsara/types/alert_event_driver.py +0 -27
  1312. samsara/types/alert_event_dvir.py +0 -52
  1313. samsara/types/alert_event_dvir_defects_item.py +0 -44
  1314. samsara/types/alert_event_dvir_driver.py +0 -27
  1315. samsara/types/alert_event_dvir_inspection_type.py +0 -7
  1316. samsara/types/alert_event_dvir_safety_status.py +0 -5
  1317. samsara/types/alert_event_dvir_trailer.py +0 -27
  1318. samsara/types/alert_event_dvir_vehicle.py +0 -27
  1319. samsara/types/assets_location_link_config_object.py +0 -31
  1320. samsara/types/assets_location_link_config_object_response_body.py +0 -33
  1321. samsara/types/attribute_attribute_value_quantity.py +0 -5
  1322. samsara/types/external_ids.py +0 -5
  1323. samsara/types/webhook_event.py +0 -37
  1324. samsara/user_roles/__init__.py +0 -4
  1325. samsara/user_roles/client.py +0 -142
  1326. samsara/user_roles/raw_client.py +0 -159
  1327. samsara/v_1_messages/__init__.py +0 -4
  1328. samsara/v_1_messages/client.py +0 -258
  1329. samsara/v_1_messages/raw_client.py +0 -273
  1330. samsara/vehicles/immobilizer/__init__.py +0 -4
  1331. samsara/vehicles/immobilizer/client.py +0 -182
  1332. samsara/vehicles/immobilizer/raw_client.py +0 -398
  1333. samsara/vehicles/locations/__init__.py +0 -4
  1334. samsara/vehicles/locations/client.py +0 -501
  1335. samsara/vehicles/locations/raw_client.py +0 -579
  1336. samsara/vehicles/stats/__init__.py +0 -19
  1337. samsara/vehicles/stats/client.py +0 -1076
  1338. samsara/vehicles/stats/raw_client.py +0 -1164
  1339. samsara/vehicles/stats/types/__init__.py +0 -17
  1340. samsara/vehicles/stats/types/stats_feed_request_decorations_item.py +0 -54
  1341. samsara/vehicles/stats/types/stats_feed_request_types_item.py +0 -68
  1342. samsara/vehicles/stats/types/stats_history_request_decorations_item.py +0 -54
  1343. samsara/vehicles/stats/types/stats_history_request_types_item.py +0 -68
  1344. samsara/vehicles/stats/types/stats_list_request_types_item.py +0 -68
  1345. samsara_api-3.0.0.dist-info/METADATA +0 -238
  1346. samsara_api-3.0.0.dist-info/RECORD +0 -2664
  1347. /samsara/{alerts/incidents → driver_qr_codes}/__init__.py +0 -0
  1348. /samsara/{assets/location_and_speed → fleet/attributes}/__init__.py +0 -0
  1349. /samsara/{form_submissions → forms}/types/form_submissions_patch_form_submission_request_body_status.py +0 -0
  1350. /samsara/{fuel_purchases → fuel_and_energy}/types/fuel_purchase_post_fuel_purchase_request_body_ifta_fuel_type.py +0 -0
  1351. /samsara/{coaching/driver_coach_assignments → hubs}/__init__.py +0 -0
  1352. /samsara/{coaching/sessions → industrial}/__init__.py +0 -0
  1353. /samsara/{live_shares → live_sharing_links}/types/live_sharing_links_create_live_sharing_link_request_body_type.py +0 -0
  1354. /samsara/{defect_types → location_and_speed}/__init__.py +0 -0
  1355. /samsara/{dvirs → maintenance}/types/create_dvir_request_safety_status.py +0 -0
  1356. /samsara/{cameras/media/retrieval → media}/types/media_retrieval_post_media_retrieval_request_body_media_type.py +0 -0
  1357. /samsara/{defects → messages}/__init__.py +0 -0
  1358. /samsara/{devices → organization_info}/__init__.py +0 -0
  1359. /samsara/{document_types → plans}/__init__.py +0 -0
  1360. /samsara/{documents/pdfs → preview_ap_is}/__init__.py +0 -0
  1361. /samsara/{driver_trailer_assignments → safety}/__init__.py +0 -0
  1362. /samsara/{drivers/qr_codes → tachograph_eu_only}/__init__.py +0 -0
  1363. /samsara/{equipment/locations → trailer_assignments}/__init__.py +0 -0
  1364. /samsara/{form_submissions/pdf_exports → vehicle_locations}/__init__.py +0 -0
  1365. /samsara/{maintenance/work_orders → work_orders}/types/work_orders_patch_work_orders_request_body_category.py +0 -0
  1366. /samsara/{maintenance/work_orders → work_orders}/types/work_orders_patch_work_orders_request_body_priority.py +0 -0
  1367. /samsara/{maintenance/work_orders → work_orders}/types/work_orders_patch_work_orders_request_body_status.py +0 -0
  1368. /samsara/{maintenance/work_orders → work_orders}/types/work_orders_post_work_orders_request_body_category.py +0 -0
  1369. /samsara/{maintenance/work_orders → work_orders}/types/work_orders_post_work_orders_request_body_priority.py +0 -0
  1370. {samsara_api-3.0.0.dist-info → samsara_api-4.0.1.dist-info}/LICENSE +0 -0
  1371. {samsara_api-3.0.0.dist-info → samsara_api-4.0.1.dist-info}/WHEEL +0 -0
@@ -1,1164 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
- from json.decoder import JSONDecodeError
5
-
6
- from ...core.api_error import ApiError
7
- from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
- from ...core.pagination import AsyncPager, BaseHttpResponse, SyncPager
9
- from ...core.pydantic_utilities import parse_obj_as
10
- from ...core.request_options import RequestOptions
11
- from ...types.vehicle_stats_list_response import VehicleStatsListResponse
12
- from ...types.vehicle_stats_list_response_data import VehicleStatsListResponseData
13
- from ...types.vehicle_stats_response import VehicleStatsResponse
14
- from ...types.vehicle_stats_response_data import VehicleStatsResponseData
15
- from .types.stats_feed_request_decorations_item import StatsFeedRequestDecorationsItem
16
- from .types.stats_feed_request_types_item import StatsFeedRequestTypesItem
17
- from .types.stats_history_request_decorations_item import StatsHistoryRequestDecorationsItem
18
- from .types.stats_history_request_types_item import StatsHistoryRequestTypesItem
19
- from .types.stats_list_request_types_item import StatsListRequestTypesItem
20
-
21
-
22
- class RawStatsClient:
23
- def __init__(self, *, client_wrapper: SyncClientWrapper):
24
- self._client_wrapper = client_wrapper
25
-
26
- def list(
27
- self,
28
- *,
29
- after: typing.Optional[str] = None,
30
- time: typing.Optional[str] = None,
31
- parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
32
- tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
33
- vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
34
- types: typing.Optional[
35
- typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]
36
- ] = None,
37
- request_options: typing.Optional[RequestOptions] = None,
38
- ) -> SyncPager[VehicleStatsResponseData]:
39
- """
40
- Returns the last known stats of all vehicles at the given `time`. If no `time` is specified, the current time is used.
41
-
42
- Related guide: <a href="/docs/telematics" target="_blank">Telematics</a>.
43
-
44
- **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
45
-
46
- To use this endpoint, select **Read Vehicle Statistics** under the Vehicles category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
47
-
48
- Parameters
49
- ----------
50
- after : typing.Optional[str]
51
- If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
52
-
53
- time : typing.Optional[str]
54
- A filter on the data that returns the last known data points with timestamps less than or equal to this value. Defaults to now if not provided. Must be a string in RFC 3339 format. Millisecond precision and timezones are supported. (Example: `2020-01-27T07:06:25Z`).
55
-
56
- parent_tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
57
- A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
58
-
59
- tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
60
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
61
-
62
- vehicle_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
63
- A filter on the data based on this comma-separated list of vehicle IDs. Example: `vehicleIds=1234,5678`
64
-
65
- types : typing.Optional[typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]]
66
- The stat types you want this endpoint to return information on. See also the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
67
-
68
- You may list ***up to 4*** types using comma-separated format. For example: `types=gps,engineStates,obdOdometerMeters`.
69
-
70
- *Note:* `auxInput3`-`auxInput10` count as a single type against the limit of 3. For example, you could list `types=engineStates,obdOdometerMeters,auxInput3,auxInput4` because `auxInput3` and `auxInput4` count as a single stat type. `auxInput1` and `auxInput2` still count as their own individual types.
71
-
72
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
73
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
74
- - `barometricPressurePa`: The barometric pressure reading in pascals.
75
- - `batteryMilliVolts`: The vehicle battery voltage reading.
76
- - `defLevelMilliPercent`: The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
77
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
78
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
79
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
80
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
81
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
82
- - `engineRpm`: The revolutions per minute of the engine.
83
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
84
- - `faultCodes`: The diagnostic fault codes for the vehicle.
85
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
86
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
87
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
88
- - `gpsOdometerMeters`: Odometer reading provided by GPS calculations when OBD odometer cannot be pulled automatically. You must provide a manual odometer reading before this value is updated. Manual odometer readings can be provided via the [PATCH /fleet/vehicles/{id}](ref:updatevehicle) endpoint or through the <a href="https://kb.samsara.com/hc/en-us/articles/115005273667-Editing-Odometer-Reading" target="_blank">cloud dasbhoard</a>. Odometer readings that are manually set will update as GPS trip data is gathered. Try combining with `obdOdometerMeters`.
89
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
90
- - `nfcCardScans`: ID card scans.
91
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
92
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted. Try combining with `gpsOdometerMeters`.
93
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
94
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
95
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
96
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
97
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
98
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
99
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
100
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
101
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
102
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
103
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
104
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
105
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
106
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
107
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
108
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
109
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
110
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
111
- - `spreaderOnState`: Whether vehicle spreader is enabled.
112
- - `spreaderActive`: Whether vehicle is actively spreading any material.
113
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
114
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
115
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
116
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
117
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
118
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
119
-
120
- request_options : typing.Optional[RequestOptions]
121
- Request-specific configuration.
122
-
123
- Returns
124
- -------
125
- SyncPager[VehicleStatsResponseData]
126
- Vehicle stats snapshot
127
- """
128
- _response = self._client_wrapper.httpx_client.request(
129
- "fleet/vehicles/stats",
130
- method="GET",
131
- params={
132
- "after": after,
133
- "time": time,
134
- "parentTagIds": parent_tag_ids,
135
- "tagIds": tag_ids,
136
- "vehicleIds": vehicle_ids,
137
- "types": types,
138
- },
139
- request_options=request_options,
140
- )
141
- try:
142
- if 200 <= _response.status_code < 300:
143
- _parsed_response = typing.cast(
144
- VehicleStatsResponse,
145
- parse_obj_as(
146
- type_=VehicleStatsResponse, # type: ignore
147
- object_=_response.json(),
148
- ),
149
- )
150
- _items = _parsed_response.data
151
- _has_next = False
152
- _get_next = None
153
- if _parsed_response.pagination is not None:
154
- _parsed_next = _parsed_response.pagination.end_cursor
155
- _has_next = _parsed_next is not None and _parsed_next != ""
156
- _get_next = lambda: self.list(
157
- after=_parsed_next,
158
- time=time,
159
- parent_tag_ids=parent_tag_ids,
160
- tag_ids=tag_ids,
161
- vehicle_ids=vehicle_ids,
162
- types=types,
163
- request_options=request_options,
164
- )
165
- return SyncPager(
166
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
167
- )
168
- _response_json = _response.json()
169
- except JSONDecodeError:
170
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
171
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
172
-
173
- def feed(
174
- self,
175
- *,
176
- after: typing.Optional[str] = None,
177
- parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
178
- tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
179
- vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
180
- types: typing.Optional[
181
- typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]
182
- ] = None,
183
- decorations: typing.Optional[
184
- typing.Union[StatsFeedRequestDecorationsItem, typing.Sequence[StatsFeedRequestDecorationsItem]]
185
- ] = None,
186
- request_options: typing.Optional[RequestOptions] = None,
187
- ) -> SyncPager[VehicleStatsListResponseData]:
188
- """
189
- Follow a feed of vehicle stats.
190
-
191
- Your first call to this endpoint will provide you with the most recent stats for each vehicle and an `endCursor`.
192
-
193
- You can the provide the `endCursor` value to the `after` query parameter to get all updates since the last call you made.
194
-
195
- If `hasNextPage` is `false`, no new data is immediately available. You should wait a minimum of 5 seconds making a subsequent request.
196
-
197
- Related guide: <a href="/docs/telematics" target="_blank">Telematics</a>.
198
-
199
- **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
200
-
201
- To use this endpoint, select **Read Vehicle Statistics** under the Vehicles category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
202
-
203
- Parameters
204
- ----------
205
- after : typing.Optional[str]
206
- If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
207
-
208
- parent_tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
209
- A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
210
-
211
- tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
212
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
213
-
214
- vehicle_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
215
- A filter on the data based on this comma-separated list of vehicle IDs. Example: `vehicleIds=1234,5678`
216
-
217
- types : typing.Optional[typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]]
218
- The stat types you want this endpoint to return information on. See also the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
219
-
220
- You may list ***up to 4*** types using comma-separated format. For example: `types=gps,engineStates,obdOdometerMeters`.
221
-
222
- *Note:* `auxInput3`-`auxInput10` count as a single type against the limit of 3. For example, you could list `types=engineStates,obdOdometerMeters,auxInput3,auxInput4` because `auxInput3` and `auxInput4` count as a single stat type. `auxInput1` and `auxInput2` still count as their own individual types.
223
-
224
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
225
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
226
- - `barometricPressurePa`: The barometric pressure reading in pascals.
227
- - `batteryMilliVolts`: The vehicle battery voltage reading.
228
- - `defLevelMilliPercent`: The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
229
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
230
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
231
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
232
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
233
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
234
- - `engineRpm`: The revolutions per minute of the engine.
235
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
236
- - `faultCodes`: The diagnostic fault codes for the vehicle.
237
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
238
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
239
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
240
- - `gpsOdometerMeters`: Odometer reading provided by GPS calculations when OBD odometer cannot be pulled automatically. You must provide a manual odometer reading before this value is updated. Manual odometer readings can be provided via the [PATCH /fleet/vehicles/{id}](ref:updatevehicle) endpoint or through the <a href="https://kb.samsara.com/hc/en-us/articles/115005273667-Editing-Odometer-Reading" target="_blank">cloud dasbhoard</a>. Odometer readings that are manually set will update as GPS trip data is gathered. Try combining with `obdOdometerMeters`.
241
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
242
- - `nfcCardScans`: ID card scans.
243
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
244
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted. Try combining with `gpsOdometerMeters`.
245
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
246
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
247
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
248
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
249
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
250
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
251
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
252
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
253
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
254
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
255
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
256
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
257
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
258
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
259
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
260
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
261
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
262
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
263
- - `spreaderOnState`: Whether vehicle spreader is enabled.
264
- - `spreaderActive`: Whether vehicle is actively spreading any material.
265
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
266
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
267
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
268
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
269
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
270
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
271
-
272
- decorations : typing.Optional[typing.Union[StatsFeedRequestDecorationsItem, typing.Sequence[StatsFeedRequestDecorationsItem]]]
273
- Decorations to add to the primary stats listed in the `types` parameter. For example, if you wish to know the vehicle's location whenever the engine changes state, you may set `types=engineStates&decorations=gps`.
274
-
275
- You may list ***up to 2*** decorations using comma-separated format. If multiple stats are listed in the `types` parameter, the decorations will be added to each one. For example: `types=engineStates,obdOdometerMeters,faultCodes&decorations=gps,fuelPercents` will list GPS and fuel decorations for each engine state change, each odometer reading, and each fault code. See the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
276
-
277
- Note that decorations may significantly increase the response payload size.
278
-
279
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
280
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
281
- - `batteryMilliVolts`: The vehicle battery voltage reading.
282
- - `barometricPressurePa`: The barometric pressure reading in pascals.
283
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
284
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
285
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
286
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
287
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
288
- - `engineRpm`: The revolutions per minute of the engine.
289
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
290
- - `faultCodes`: The diagnostic fault codes for the vehicle.
291
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
292
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
293
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
294
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
295
- - `nfcCardScans`: ID card scans.
296
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
297
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted.
298
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
299
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
300
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
301
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
302
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
303
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
304
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
305
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
306
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
307
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
308
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
309
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
310
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
311
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
312
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
313
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
314
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
315
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
316
- - `spreaderOnState`: Whether vehicle spreader is enabled.
317
- - `spreaderActive`: Whether vehicle is actively spreading any material.
318
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
319
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
320
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
321
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
322
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
323
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
324
-
325
- request_options : typing.Optional[RequestOptions]
326
- Request-specific configuration.
327
-
328
- Returns
329
- -------
330
- SyncPager[VehicleStatsListResponseData]
331
- List of stat events for the specified vehicles and stat types.
332
- """
333
- _response = self._client_wrapper.httpx_client.request(
334
- "fleet/vehicles/stats/feed",
335
- method="GET",
336
- params={
337
- "after": after,
338
- "parentTagIds": parent_tag_ids,
339
- "tagIds": tag_ids,
340
- "vehicleIds": vehicle_ids,
341
- "types": types,
342
- "decorations": decorations,
343
- },
344
- request_options=request_options,
345
- )
346
- try:
347
- if 200 <= _response.status_code < 300:
348
- _parsed_response = typing.cast(
349
- VehicleStatsListResponse,
350
- parse_obj_as(
351
- type_=VehicleStatsListResponse, # type: ignore
352
- object_=_response.json(),
353
- ),
354
- )
355
- _items = _parsed_response.data
356
- _has_next = False
357
- _get_next = None
358
- if _parsed_response.pagination is not None:
359
- _parsed_next = _parsed_response.pagination.end_cursor
360
- _has_next = _parsed_next is not None and _parsed_next != ""
361
- _get_next = lambda: self.feed(
362
- after=_parsed_next,
363
- parent_tag_ids=parent_tag_ids,
364
- tag_ids=tag_ids,
365
- vehicle_ids=vehicle_ids,
366
- types=types,
367
- decorations=decorations,
368
- request_options=request_options,
369
- )
370
- return SyncPager(
371
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
372
- )
373
- _response_json = _response.json()
374
- except JSONDecodeError:
375
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
376
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
377
-
378
- def history(
379
- self,
380
- *,
381
- start_time: str,
382
- end_time: str,
383
- after: typing.Optional[str] = None,
384
- parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
385
- tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
386
- vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
387
- types: typing.Optional[
388
- typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]
389
- ] = None,
390
- decorations: typing.Optional[
391
- typing.Union[StatsHistoryRequestDecorationsItem, typing.Sequence[StatsHistoryRequestDecorationsItem]]
392
- ] = None,
393
- request_options: typing.Optional[RequestOptions] = None,
394
- ) -> SyncPager[VehicleStatsListResponseData]:
395
- """
396
- Returns vehicle stats during the given time range for all vehicles. This can be optionally filtered by tags or specific vehicle IDs.
397
-
398
- Related guide: <a href="/docs/telematics" target="_blank">Telematics</a>.
399
-
400
- **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
401
-
402
- To use this endpoint, select **Read Vehicle Statistics** under the Vehicles category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
403
-
404
- Parameters
405
- ----------
406
- start_time : str
407
- A start time in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).
408
-
409
- end_time : str
410
- An end time in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).
411
-
412
- after : typing.Optional[str]
413
- If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
414
-
415
- parent_tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
416
- A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
417
-
418
- tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
419
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
420
-
421
- vehicle_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
422
- A filter on the data based on this comma-separated list of vehicle IDs. Example: `vehicleIds=1234,5678`
423
-
424
- types : typing.Optional[typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]]
425
- The stat types you want this endpoint to return information on. See also the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
426
-
427
- You may list ***up to 4*** types using comma-separated format. For example: `types=gps,engineStates,obdOdometerMeters`.
428
-
429
- *Note:* `auxInput3`-`auxInput10` count as a single type against the limit of 3. For example, you could list `types=engineStates,obdOdometerMeters,auxInput3,auxInput4` because `auxInput3` and `auxInput4` count as a single stat type. `auxInput1` and `auxInput2` still count as their own individual types.
430
-
431
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
432
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
433
- - `barometricPressurePa`: The barometric pressure reading in pascals.
434
- - `batteryMilliVolts`: The vehicle battery voltage reading.
435
- - `defLevelMilliPercent`: The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
436
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
437
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
438
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
439
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
440
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
441
- - `engineRpm`: The revolutions per minute of the engine.
442
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
443
- - `faultCodes`: The diagnostic fault codes for the vehicle.
444
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
445
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
446
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
447
- - `gpsOdometerMeters`: Odometer reading provided by GPS calculations when OBD odometer cannot be pulled automatically. You must provide a manual odometer reading before this value is updated. Manual odometer readings can be provided via the [PATCH /fleet/vehicles/{id}](ref:updatevehicle) endpoint or through the <a href="https://kb.samsara.com/hc/en-us/articles/115005273667-Editing-Odometer-Reading" target="_blank">cloud dasbhoard</a>. Odometer readings that are manually set will update as GPS trip data is gathered. Try combining with `obdOdometerMeters`.
448
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
449
- - `nfcCardScans`: ID card scans.
450
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
451
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted. Try combining with `gpsOdometerMeters`.
452
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
453
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
454
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
455
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
456
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
457
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
458
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
459
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
460
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
461
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
462
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
463
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
464
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
465
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
466
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
467
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
468
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
469
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
470
- - `spreaderOnState`: Whether vehicle spreader is enabled.
471
- - `spreaderActive`: Whether vehicle is actively spreading any material.
472
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
473
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
474
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
475
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
476
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
477
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
478
-
479
- decorations : typing.Optional[typing.Union[StatsHistoryRequestDecorationsItem, typing.Sequence[StatsHistoryRequestDecorationsItem]]]
480
- Decorations to add to the primary stats listed in the `types` parameter. For example, if you wish to know the vehicle's location whenever the engine changes state, you may set `types=engineStates&decorations=gps`.
481
-
482
- You may list ***up to 2*** decorations using comma-separated format. If multiple stats are listed in the `types` parameter, the decorations will be added to each one. For example: `types=engineStates,obdOdometerMeters,faultCodes&decorations=gps,fuelPercents` will list GPS and fuel decorations for each engine state change, each odometer reading, and each fault code. See the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
483
-
484
- Note that decorations may significantly increase the response payload size.
485
-
486
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
487
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
488
- - `batteryMilliVolts`: The vehicle battery voltage reading.
489
- - `barometricPressurePa`: The barometric pressure reading in pascals.
490
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
491
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
492
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
493
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
494
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
495
- - `engineRpm`: The revolutions per minute of the engine.
496
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
497
- - `faultCodes`: The diagnostic fault codes for the vehicle.
498
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
499
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
500
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
501
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
502
- - `nfcCardScans`: ID card scans.
503
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
504
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted.
505
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
506
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
507
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
508
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
509
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
510
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
511
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
512
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
513
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
514
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
515
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
516
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
517
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
518
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
519
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
520
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
521
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
522
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
523
- - `spreaderOnState`: Whether vehicle spreader is enabled.
524
- - `spreaderActive`: Whether vehicle is actively spreading any material.
525
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
526
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
527
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
528
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
529
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
530
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
531
-
532
- request_options : typing.Optional[RequestOptions]
533
- Request-specific configuration.
534
-
535
- Returns
536
- -------
537
- SyncPager[VehicleStatsListResponseData]
538
- List of vehicle stats for the specified vehicles, stat type, and time range.
539
- """
540
- _response = self._client_wrapper.httpx_client.request(
541
- "fleet/vehicles/stats/history",
542
- method="GET",
543
- params={
544
- "after": after,
545
- "startTime": start_time,
546
- "endTime": end_time,
547
- "parentTagIds": parent_tag_ids,
548
- "tagIds": tag_ids,
549
- "vehicleIds": vehicle_ids,
550
- "types": types,
551
- "decorations": decorations,
552
- },
553
- request_options=request_options,
554
- )
555
- try:
556
- if 200 <= _response.status_code < 300:
557
- _parsed_response = typing.cast(
558
- VehicleStatsListResponse,
559
- parse_obj_as(
560
- type_=VehicleStatsListResponse, # type: ignore
561
- object_=_response.json(),
562
- ),
563
- )
564
- _items = _parsed_response.data
565
- _has_next = False
566
- _get_next = None
567
- if _parsed_response.pagination is not None:
568
- _parsed_next = _parsed_response.pagination.end_cursor
569
- _has_next = _parsed_next is not None and _parsed_next != ""
570
- _get_next = lambda: self.history(
571
- start_time=start_time,
572
- end_time=end_time,
573
- after=_parsed_next,
574
- parent_tag_ids=parent_tag_ids,
575
- tag_ids=tag_ids,
576
- vehicle_ids=vehicle_ids,
577
- types=types,
578
- decorations=decorations,
579
- request_options=request_options,
580
- )
581
- return SyncPager(
582
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
583
- )
584
- _response_json = _response.json()
585
- except JSONDecodeError:
586
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
587
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
588
-
589
-
590
- class AsyncRawStatsClient:
591
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
592
- self._client_wrapper = client_wrapper
593
-
594
- async def list(
595
- self,
596
- *,
597
- after: typing.Optional[str] = None,
598
- time: typing.Optional[str] = None,
599
- parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
600
- tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
601
- vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
602
- types: typing.Optional[
603
- typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]
604
- ] = None,
605
- request_options: typing.Optional[RequestOptions] = None,
606
- ) -> AsyncPager[VehicleStatsResponseData]:
607
- """
608
- Returns the last known stats of all vehicles at the given `time`. If no `time` is specified, the current time is used.
609
-
610
- Related guide: <a href="/docs/telematics" target="_blank">Telematics</a>.
611
-
612
- **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
613
-
614
- To use this endpoint, select **Read Vehicle Statistics** under the Vehicles category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
615
-
616
- Parameters
617
- ----------
618
- after : typing.Optional[str]
619
- If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
620
-
621
- time : typing.Optional[str]
622
- A filter on the data that returns the last known data points with timestamps less than or equal to this value. Defaults to now if not provided. Must be a string in RFC 3339 format. Millisecond precision and timezones are supported. (Example: `2020-01-27T07:06:25Z`).
623
-
624
- parent_tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
625
- A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
626
-
627
- tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
628
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
629
-
630
- vehicle_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
631
- A filter on the data based on this comma-separated list of vehicle IDs. Example: `vehicleIds=1234,5678`
632
-
633
- types : typing.Optional[typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]]
634
- The stat types you want this endpoint to return information on. See also the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
635
-
636
- You may list ***up to 4*** types using comma-separated format. For example: `types=gps,engineStates,obdOdometerMeters`.
637
-
638
- *Note:* `auxInput3`-`auxInput10` count as a single type against the limit of 3. For example, you could list `types=engineStates,obdOdometerMeters,auxInput3,auxInput4` because `auxInput3` and `auxInput4` count as a single stat type. `auxInput1` and `auxInput2` still count as their own individual types.
639
-
640
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
641
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
642
- - `barometricPressurePa`: The barometric pressure reading in pascals.
643
- - `batteryMilliVolts`: The vehicle battery voltage reading.
644
- - `defLevelMilliPercent`: The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
645
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
646
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
647
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
648
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
649
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
650
- - `engineRpm`: The revolutions per minute of the engine.
651
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
652
- - `faultCodes`: The diagnostic fault codes for the vehicle.
653
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
654
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
655
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
656
- - `gpsOdometerMeters`: Odometer reading provided by GPS calculations when OBD odometer cannot be pulled automatically. You must provide a manual odometer reading before this value is updated. Manual odometer readings can be provided via the [PATCH /fleet/vehicles/{id}](ref:updatevehicle) endpoint or through the <a href="https://kb.samsara.com/hc/en-us/articles/115005273667-Editing-Odometer-Reading" target="_blank">cloud dasbhoard</a>. Odometer readings that are manually set will update as GPS trip data is gathered. Try combining with `obdOdometerMeters`.
657
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
658
- - `nfcCardScans`: ID card scans.
659
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
660
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted. Try combining with `gpsOdometerMeters`.
661
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
662
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
663
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
664
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
665
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
666
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
667
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
668
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
669
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
670
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
671
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
672
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
673
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
674
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
675
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
676
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
677
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
678
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
679
- - `spreaderOnState`: Whether vehicle spreader is enabled.
680
- - `spreaderActive`: Whether vehicle is actively spreading any material.
681
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
682
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
683
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
684
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
685
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
686
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
687
-
688
- request_options : typing.Optional[RequestOptions]
689
- Request-specific configuration.
690
-
691
- Returns
692
- -------
693
- AsyncPager[VehicleStatsResponseData]
694
- Vehicle stats snapshot
695
- """
696
- _response = await self._client_wrapper.httpx_client.request(
697
- "fleet/vehicles/stats",
698
- method="GET",
699
- params={
700
- "after": after,
701
- "time": time,
702
- "parentTagIds": parent_tag_ids,
703
- "tagIds": tag_ids,
704
- "vehicleIds": vehicle_ids,
705
- "types": types,
706
- },
707
- request_options=request_options,
708
- )
709
- try:
710
- if 200 <= _response.status_code < 300:
711
- _parsed_response = typing.cast(
712
- VehicleStatsResponse,
713
- parse_obj_as(
714
- type_=VehicleStatsResponse, # type: ignore
715
- object_=_response.json(),
716
- ),
717
- )
718
- _items = _parsed_response.data
719
- _has_next = False
720
- _get_next = None
721
- if _parsed_response.pagination is not None:
722
- _parsed_next = _parsed_response.pagination.end_cursor
723
- _has_next = _parsed_next is not None and _parsed_next != ""
724
-
725
- async def _get_next():
726
- return await self.list(
727
- after=_parsed_next,
728
- time=time,
729
- parent_tag_ids=parent_tag_ids,
730
- tag_ids=tag_ids,
731
- vehicle_ids=vehicle_ids,
732
- types=types,
733
- request_options=request_options,
734
- )
735
-
736
- return AsyncPager(
737
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
738
- )
739
- _response_json = _response.json()
740
- except JSONDecodeError:
741
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
742
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
743
-
744
- async def feed(
745
- self,
746
- *,
747
- after: typing.Optional[str] = None,
748
- parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
749
- tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
750
- vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
751
- types: typing.Optional[
752
- typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]
753
- ] = None,
754
- decorations: typing.Optional[
755
- typing.Union[StatsFeedRequestDecorationsItem, typing.Sequence[StatsFeedRequestDecorationsItem]]
756
- ] = None,
757
- request_options: typing.Optional[RequestOptions] = None,
758
- ) -> AsyncPager[VehicleStatsListResponseData]:
759
- """
760
- Follow a feed of vehicle stats.
761
-
762
- Your first call to this endpoint will provide you with the most recent stats for each vehicle and an `endCursor`.
763
-
764
- You can the provide the `endCursor` value to the `after` query parameter to get all updates since the last call you made.
765
-
766
- If `hasNextPage` is `false`, no new data is immediately available. You should wait a minimum of 5 seconds making a subsequent request.
767
-
768
- Related guide: <a href="/docs/telematics" target="_blank">Telematics</a>.
769
-
770
- **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
771
-
772
- To use this endpoint, select **Read Vehicle Statistics** under the Vehicles category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
773
-
774
- Parameters
775
- ----------
776
- after : typing.Optional[str]
777
- If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
778
-
779
- parent_tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
780
- A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
781
-
782
- tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
783
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
784
-
785
- vehicle_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
786
- A filter on the data based on this comma-separated list of vehicle IDs. Example: `vehicleIds=1234,5678`
787
-
788
- types : typing.Optional[typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]]
789
- The stat types you want this endpoint to return information on. See also the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
790
-
791
- You may list ***up to 4*** types using comma-separated format. For example: `types=gps,engineStates,obdOdometerMeters`.
792
-
793
- *Note:* `auxInput3`-`auxInput10` count as a single type against the limit of 3. For example, you could list `types=engineStates,obdOdometerMeters,auxInput3,auxInput4` because `auxInput3` and `auxInput4` count as a single stat type. `auxInput1` and `auxInput2` still count as their own individual types.
794
-
795
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
796
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
797
- - `barometricPressurePa`: The barometric pressure reading in pascals.
798
- - `batteryMilliVolts`: The vehicle battery voltage reading.
799
- - `defLevelMilliPercent`: The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
800
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
801
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
802
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
803
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
804
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
805
- - `engineRpm`: The revolutions per minute of the engine.
806
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
807
- - `faultCodes`: The diagnostic fault codes for the vehicle.
808
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
809
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
810
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
811
- - `gpsOdometerMeters`: Odometer reading provided by GPS calculations when OBD odometer cannot be pulled automatically. You must provide a manual odometer reading before this value is updated. Manual odometer readings can be provided via the [PATCH /fleet/vehicles/{id}](ref:updatevehicle) endpoint or through the <a href="https://kb.samsara.com/hc/en-us/articles/115005273667-Editing-Odometer-Reading" target="_blank">cloud dasbhoard</a>. Odometer readings that are manually set will update as GPS trip data is gathered. Try combining with `obdOdometerMeters`.
812
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
813
- - `nfcCardScans`: ID card scans.
814
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
815
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted. Try combining with `gpsOdometerMeters`.
816
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
817
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
818
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
819
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
820
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
821
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
822
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
823
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
824
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
825
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
826
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
827
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
828
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
829
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
830
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
831
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
832
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
833
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
834
- - `spreaderOnState`: Whether vehicle spreader is enabled.
835
- - `spreaderActive`: Whether vehicle is actively spreading any material.
836
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
837
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
838
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
839
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
840
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
841
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
842
-
843
- decorations : typing.Optional[typing.Union[StatsFeedRequestDecorationsItem, typing.Sequence[StatsFeedRequestDecorationsItem]]]
844
- Decorations to add to the primary stats listed in the `types` parameter. For example, if you wish to know the vehicle's location whenever the engine changes state, you may set `types=engineStates&decorations=gps`.
845
-
846
- You may list ***up to 2*** decorations using comma-separated format. If multiple stats are listed in the `types` parameter, the decorations will be added to each one. For example: `types=engineStates,obdOdometerMeters,faultCodes&decorations=gps,fuelPercents` will list GPS and fuel decorations for each engine state change, each odometer reading, and each fault code. See the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
847
-
848
- Note that decorations may significantly increase the response payload size.
849
-
850
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
851
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
852
- - `batteryMilliVolts`: The vehicle battery voltage reading.
853
- - `barometricPressurePa`: The barometric pressure reading in pascals.
854
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
855
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
856
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
857
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
858
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
859
- - `engineRpm`: The revolutions per minute of the engine.
860
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
861
- - `faultCodes`: The diagnostic fault codes for the vehicle.
862
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
863
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
864
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
865
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
866
- - `nfcCardScans`: ID card scans.
867
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
868
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted.
869
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
870
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
871
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
872
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
873
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
874
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
875
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
876
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
877
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
878
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
879
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
880
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
881
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
882
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
883
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
884
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
885
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
886
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
887
- - `spreaderOnState`: Whether vehicle spreader is enabled.
888
- - `spreaderActive`: Whether vehicle is actively spreading any material.
889
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
890
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
891
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
892
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
893
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
894
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
895
-
896
- request_options : typing.Optional[RequestOptions]
897
- Request-specific configuration.
898
-
899
- Returns
900
- -------
901
- AsyncPager[VehicleStatsListResponseData]
902
- List of stat events for the specified vehicles and stat types.
903
- """
904
- _response = await self._client_wrapper.httpx_client.request(
905
- "fleet/vehicles/stats/feed",
906
- method="GET",
907
- params={
908
- "after": after,
909
- "parentTagIds": parent_tag_ids,
910
- "tagIds": tag_ids,
911
- "vehicleIds": vehicle_ids,
912
- "types": types,
913
- "decorations": decorations,
914
- },
915
- request_options=request_options,
916
- )
917
- try:
918
- if 200 <= _response.status_code < 300:
919
- _parsed_response = typing.cast(
920
- VehicleStatsListResponse,
921
- parse_obj_as(
922
- type_=VehicleStatsListResponse, # type: ignore
923
- object_=_response.json(),
924
- ),
925
- )
926
- _items = _parsed_response.data
927
- _has_next = False
928
- _get_next = None
929
- if _parsed_response.pagination is not None:
930
- _parsed_next = _parsed_response.pagination.end_cursor
931
- _has_next = _parsed_next is not None and _parsed_next != ""
932
-
933
- async def _get_next():
934
- return await self.feed(
935
- after=_parsed_next,
936
- parent_tag_ids=parent_tag_ids,
937
- tag_ids=tag_ids,
938
- vehicle_ids=vehicle_ids,
939
- types=types,
940
- decorations=decorations,
941
- request_options=request_options,
942
- )
943
-
944
- return AsyncPager(
945
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
946
- )
947
- _response_json = _response.json()
948
- except JSONDecodeError:
949
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
950
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
951
-
952
- async def history(
953
- self,
954
- *,
955
- start_time: str,
956
- end_time: str,
957
- after: typing.Optional[str] = None,
958
- parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
959
- tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
960
- vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
961
- types: typing.Optional[
962
- typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]
963
- ] = None,
964
- decorations: typing.Optional[
965
- typing.Union[StatsHistoryRequestDecorationsItem, typing.Sequence[StatsHistoryRequestDecorationsItem]]
966
- ] = None,
967
- request_options: typing.Optional[RequestOptions] = None,
968
- ) -> AsyncPager[VehicleStatsListResponseData]:
969
- """
970
- Returns vehicle stats during the given time range for all vehicles. This can be optionally filtered by tags or specific vehicle IDs.
971
-
972
- Related guide: <a href="/docs/telematics" target="_blank">Telematics</a>.
973
-
974
- **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
975
-
976
- To use this endpoint, select **Read Vehicle Statistics** under the Vehicles category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
977
-
978
- Parameters
979
- ----------
980
- start_time : str
981
- A start time in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).
982
-
983
- end_time : str
984
- An end time in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).
985
-
986
- after : typing.Optional[str]
987
- If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
988
-
989
- parent_tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
990
- A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
991
-
992
- tag_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
993
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
994
-
995
- vehicle_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
996
- A filter on the data based on this comma-separated list of vehicle IDs. Example: `vehicleIds=1234,5678`
997
-
998
- types : typing.Optional[typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]]
999
- The stat types you want this endpoint to return information on. See also the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
1000
-
1001
- You may list ***up to 4*** types using comma-separated format. For example: `types=gps,engineStates,obdOdometerMeters`.
1002
-
1003
- *Note:* `auxInput3`-`auxInput10` count as a single type against the limit of 3. For example, you could list `types=engineStates,obdOdometerMeters,auxInput3,auxInput4` because `auxInput3` and `auxInput4` count as a single stat type. `auxInput1` and `auxInput2` still count as their own individual types.
1004
-
1005
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
1006
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
1007
- - `barometricPressurePa`: The barometric pressure reading in pascals.
1008
- - `batteryMilliVolts`: The vehicle battery voltage reading.
1009
- - `defLevelMilliPercent`: The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
1010
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
1011
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
1012
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
1013
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
1014
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
1015
- - `engineRpm`: The revolutions per minute of the engine.
1016
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
1017
- - `faultCodes`: The diagnostic fault codes for the vehicle.
1018
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
1019
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
1020
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
1021
- - `gpsOdometerMeters`: Odometer reading provided by GPS calculations when OBD odometer cannot be pulled automatically. You must provide a manual odometer reading before this value is updated. Manual odometer readings can be provided via the [PATCH /fleet/vehicles/{id}](ref:updatevehicle) endpoint or through the <a href="https://kb.samsara.com/hc/en-us/articles/115005273667-Editing-Odometer-Reading" target="_blank">cloud dasbhoard</a>. Odometer readings that are manually set will update as GPS trip data is gathered. Try combining with `obdOdometerMeters`.
1022
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
1023
- - `nfcCardScans`: ID card scans.
1024
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
1025
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted. Try combining with `gpsOdometerMeters`.
1026
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
1027
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
1028
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
1029
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
1030
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
1031
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
1032
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
1033
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
1034
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
1035
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
1036
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
1037
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
1038
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
1039
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
1040
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
1041
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
1042
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
1043
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
1044
- - `spreaderOnState`: Whether vehicle spreader is enabled.
1045
- - `spreaderActive`: Whether vehicle is actively spreading any material.
1046
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
1047
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
1048
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
1049
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
1050
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
1051
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
1052
-
1053
- decorations : typing.Optional[typing.Union[StatsHistoryRequestDecorationsItem, typing.Sequence[StatsHistoryRequestDecorationsItem]]]
1054
- Decorations to add to the primary stats listed in the `types` parameter. For example, if you wish to know the vehicle's location whenever the engine changes state, you may set `types=engineStates&decorations=gps`.
1055
-
1056
- You may list ***up to 2*** decorations using comma-separated format. If multiple stats are listed in the `types` parameter, the decorations will be added to each one. For example: `types=engineStates,obdOdometerMeters,faultCodes&decorations=gps,fuelPercents` will list GPS and fuel decorations for each engine state change, each odometer reading, and each fault code. See the <a href="/docs/telematics#query-parameters" target="_blank">Telematics</a> guide for more details.
1057
-
1058
- Note that decorations may significantly increase the response payload size.
1059
-
1060
- - `ambientAirTemperatureMilliC`: The ambient air temperature reading in millidegree Celsius.
1061
- - `auxInput1`-`auxInput13`: Stat events from the <a href="https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs" target="_blank">auxiliary inputs</a> for the vehicle.
1062
- - `batteryMilliVolts`: The vehicle battery voltage reading.
1063
- - `barometricPressurePa`: The barometric pressure reading in pascals.
1064
- - `ecuSpeedMph`: The speed of the engine in miles per hour according to the ECU.
1065
- - `engineCoolantTemperatureMilliC`: The engine coolant temperature reading in millidegree Celsius.
1066
- - `engineImmobilizer`: The state of the engine immobilizer - Valid values: `ignition_disabled`, `ignition_enabled`. This stat type will only return states of our first Engine Immobilizer Hardware (ACC-EI). Please use <a href="https://developers.samsara.com/reference/getengineimmobilizerstates" target="_blank">Get engine immobilizer states</a> to get states for both Engine Immobilizer Hardware versions (incl. HW-EI21).
1067
- - `engineOilPressureKPa`: The engine oil pressure reading in kilopascals.
1068
- - `engineLoadPercent`: The engine load in percentage points (e.g. `99`, `50`, etc).
1069
- - `engineRpm`: The revolutions per minute of the engine.
1070
- - `engineStates`: The state of the engine (`Off`, `On`, `Idle`).
1071
- - `faultCodes`: The diagnostic fault codes for the vehicle.
1072
- - `fuelPercents`: The engine fuel level in percentage points (e.g. `99`, `50`, etc).
1073
- - `gps`: GPS data including lat/long, heading, speed, address book entry (if exists), and a reverse geocoded address.
1074
- - `gpsDistanceMeters`: The distance the vehicle has traveled since the gateway was installed based on GPS calculations.
1075
- - `intakeManifoldTemperatureMilliC`: The intake manifold temperature reading in millidegree Celsius.
1076
- - `nfcCardScans`: ID card scans.
1077
- - `obdEngineSeconds`: The cumulative number of seconds the engine has run according to onboard diagnostics.
1078
- - `obdOdometerMeters`: The odometer reading according to onboard diagnostics. If Samsara does not have diagnostic coverage for a particular vehicle, the value for this stat type will be omitted.
1079
- - `syntheticEngineSeconds`: Data for the synthetic engine seconds for the vehicle.
1080
- - `evStateOfChargeMilliPercent`: Milli percent State of Charge for electric and hybrid vehicles. Not all EV and HEVs may report this field.
1081
- - `evChargingStatus`: Charging status for electric and hybrid vehicles. Not all EV and HEVs may report this field. Statuses: unknown - 0, not charging - 1, charging - 2.
1082
- - `evChargingEnergyMicroWh`: Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
1083
- - `evChargingVoltageMilliVolt`: Charging voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
1084
- - `evChargingCurrentMilliAmp`: Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
1085
- - `evConsumedEnergyMicroWh`: Consumed energy (including regenerated) for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
1086
- - `evRegeneratedEnergyMicroWh`: Regenerated energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
1087
- - `evBatteryVoltageMilliVolt`: Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
1088
- - `evBatteryCurrentMilliAmp`: Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
1089
- - `evBatteryStateOfHealthMilliPercent`: Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
1090
- - `evAverageBatteryTemperatureMilliCelsius`: Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
1091
- - `evDistanceDrivenMeters`: Electric distance driven for electric and hybrid vehicles in meters. Not all EV and HEVs may report this field.
1092
- - `spreaderLiquidRate`: Liquid spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
1093
- - `spreaderGranularRate`: Granular spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
1094
- - `spreaderPrewetRate`: Prewet spread rate reading in milliliters per meter, read from the material spreader. Unfiltered live stats are supplied as-read from the Material Spreader unit. Readings do not consider total spread rate(s) over time or distance.
1095
- - `spreaderAirTemp`: Air (ambient) temperature in milli celsius reading from material spreader.
1096
- - `spreaderRoadTemp`: Road temperature reading in milli celsius from material spreader.
1097
- - `spreaderOnState`: Whether vehicle spreader is enabled.
1098
- - `spreaderActive`: Whether vehicle is actively spreading any material.
1099
- - `spreaderBlastState`: Whether vehicle is actively spreading material in ‘blast mode’.
1100
- - `spreaderGranularName`: Name of most recent type of granular material spread, read from the material spreader.
1101
- - `spreaderPrewetName`: Name of most recent type of prewet material spread, read from the material spreader.
1102
- - `spreaderLiquidName`: Name of most recent type of liquid material spread, read from the material spreader.
1103
- - `spreaderPlowStatus`: Snow plow status (`Up` or `Down`), as read from the material spreader. Note: this is separate from plow status defined via auxInput.
1104
- - `seatbeltDriver`: Seatbelt Driver Status as read from the vehicle. `Buckled` or `Unbuckled`. (Beta only)
1105
-
1106
- request_options : typing.Optional[RequestOptions]
1107
- Request-specific configuration.
1108
-
1109
- Returns
1110
- -------
1111
- AsyncPager[VehicleStatsListResponseData]
1112
- List of vehicle stats for the specified vehicles, stat type, and time range.
1113
- """
1114
- _response = await self._client_wrapper.httpx_client.request(
1115
- "fleet/vehicles/stats/history",
1116
- method="GET",
1117
- params={
1118
- "after": after,
1119
- "startTime": start_time,
1120
- "endTime": end_time,
1121
- "parentTagIds": parent_tag_ids,
1122
- "tagIds": tag_ids,
1123
- "vehicleIds": vehicle_ids,
1124
- "types": types,
1125
- "decorations": decorations,
1126
- },
1127
- request_options=request_options,
1128
- )
1129
- try:
1130
- if 200 <= _response.status_code < 300:
1131
- _parsed_response = typing.cast(
1132
- VehicleStatsListResponse,
1133
- parse_obj_as(
1134
- type_=VehicleStatsListResponse, # type: ignore
1135
- object_=_response.json(),
1136
- ),
1137
- )
1138
- _items = _parsed_response.data
1139
- _has_next = False
1140
- _get_next = None
1141
- if _parsed_response.pagination is not None:
1142
- _parsed_next = _parsed_response.pagination.end_cursor
1143
- _has_next = _parsed_next is not None and _parsed_next != ""
1144
-
1145
- async def _get_next():
1146
- return await self.history(
1147
- start_time=start_time,
1148
- end_time=end_time,
1149
- after=_parsed_next,
1150
- parent_tag_ids=parent_tag_ids,
1151
- tag_ids=tag_ids,
1152
- vehicle_ids=vehicle_ids,
1153
- types=types,
1154
- decorations=decorations,
1155
- request_options=request_options,
1156
- )
1157
-
1158
- return AsyncPager(
1159
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
1160
- )
1161
- _response_json = _response.json()
1162
- except JSONDecodeError:
1163
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1164
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)