samsara-api 0.0.1__py3-none-any.whl → 0.0.3__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 (346) hide show
  1. samsara/__init__.py +298 -38
  2. samsara/alerts/configurations/client.py +25 -11
  3. samsara/alerts/configurations/raw_client.py +47 -8
  4. samsara/alerts/incidents/client.py +21 -11
  5. samsara/alerts/incidents/raw_client.py +43 -9
  6. samsara/assets/client.py +21 -11
  7. samsara/assets/location_and_speed/client.py +21 -13
  8. samsara/assets/location_and_speed/raw_client.py +53 -9
  9. samsara/assets/raw_client.py +53 -8
  10. samsara/attributes/client.py +21 -13
  11. samsara/attributes/raw_client.py +41 -8
  12. samsara/cameras/media/client.py +2 -2
  13. samsara/cameras/media/raw_client.py +2 -2
  14. samsara/cameras/media/retrieval/client.py +2 -12
  15. samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +8 -1
  16. samsara/carrier_proposed_assignments/client.py +21 -11
  17. samsara/carrier_proposed_assignments/raw_client.py +43 -8
  18. samsara/client.py +15 -6
  19. samsara/coaching/driver_coach_assignments/client.py +22 -12
  20. samsara/coaching/driver_coach_assignments/raw_client.py +45 -8
  21. samsara/coaching/sessions/client.py +21 -13
  22. samsara/coaching/sessions/raw_client.py +51 -9
  23. samsara/contacts/client.py +21 -11
  24. samsara/contacts/raw_client.py +39 -8
  25. samsara/core/client_wrapper.py +2 -2
  26. samsara/defect_types/client.py +21 -11
  27. samsara/defect_types/raw_client.py +41 -9
  28. samsara/defects/client.py +124 -9
  29. samsara/defects/raw_client.py +356 -6
  30. samsara/devices/client.py +21 -11
  31. samsara/devices/raw_client.py +45 -9
  32. samsara/document_types/client.py +21 -11
  33. samsara/document_types/raw_client.py +37 -9
  34. samsara/documents/client.py +21 -11
  35. samsara/documents/raw_client.py +45 -8
  36. samsara/driver_trailer_assignments/client.py +23 -13
  37. samsara/driver_trailer_assignments/raw_client.py +43 -8
  38. samsara/drivers/__init__.py +1 -3
  39. samsara/drivers/client.py +21 -21
  40. samsara/drivers/raw_client.py +51 -8
  41. samsara/dvirs/client.py +124 -9
  42. samsara/dvirs/raw_client.py +356 -6
  43. samsara/equipment/__init__.py +2 -2
  44. samsara/equipment/client.py +23 -21
  45. samsara/equipment/locations/client.py +62 -34
  46. samsara/equipment/locations/raw_client.py +132 -27
  47. samsara/equipment/raw_client.py +45 -18
  48. samsara/equipment/stats/__init__.py +2 -2
  49. samsara/equipment/stats/client.py +81 -53
  50. samsara/equipment/stats/raw_client.py +157 -46
  51. samsara/equipment/stats/types/__init__.py +2 -2
  52. samsara/equipment/stats/types/{stats_get_request_types_item.py → stats_list_request_types_item.py} +1 -1
  53. samsara/form_submissions/client.py +46 -54
  54. samsara/form_submissions/pdf_exports/client.py +14 -22
  55. samsara/form_submissions/pdf_exports/raw_client.py +10 -18
  56. samsara/form_submissions/raw_client.py +74 -47
  57. samsara/forms/client.py +138 -0
  58. samsara/{beta → forms}/raw_client.py +37 -62
  59. samsara/function.py +99 -0
  60. samsara/gateways/client.py +21 -11
  61. samsara/gateways/raw_client.py +39 -8
  62. samsara/hos/__init__.py +3 -0
  63. samsara/hos/client.py +218 -11
  64. samsara/hos/raw_client.py +485 -8
  65. samsara/hos/types/__init__.py +7 -0
  66. samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +5 -0
  67. samsara/idling/__init__.py +7 -0
  68. samsara/idling/client.py +287 -0
  69. samsara/idling/raw_client.py +521 -0
  70. samsara/idling/types/__init__.py +7 -0
  71. samsara/idling/types/idling_list_request_pto_state.py +5 -0
  72. samsara/inputs/client.py +21 -11
  73. samsara/inputs/raw_client.py +51 -9
  74. samsara/issues/client.py +27 -29
  75. samsara/issues/raw_client.py +53 -26
  76. samsara/live_shares/client.py +21 -13
  77. samsara/live_shares/raw_client.py +43 -8
  78. samsara/maintenance/service_tasks/client.py +21 -11
  79. samsara/maintenance/service_tasks/raw_client.py +41 -8
  80. samsara/maintenance/work_orders/client.py +40 -22
  81. samsara/maintenance/work_orders/raw_client.py +84 -16
  82. samsara/readings/client.py +524 -0
  83. samsara/readings/raw_client.py +1214 -0
  84. samsara/reports/drivers/fuel_energy/client.py +6 -6
  85. samsara/reports/drivers/fuel_energy/raw_client.py +2 -2
  86. samsara/reports/ifta/__init__.py +4 -4
  87. samsara/reports/ifta/vehicle/__init__.py +2 -2
  88. samsara/reports/ifta/vehicle/client.py +21 -21
  89. samsara/reports/ifta/vehicle/raw_client.py +17 -17
  90. samsara/reports/ifta/vehicle/types/__init__.py +4 -4
  91. samsara/reports/ifta/vehicle/types/{vehicle_get_request_fuel_type.py → vehicle_list_request_fuel_type.py} +1 -1
  92. samsara/reports/ifta/vehicle/types/{vehicle_get_request_month.py → vehicle_list_request_month.py} +1 -1
  93. samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +5 -0
  94. samsara/reports/vehicles/__init__.py +2 -2
  95. samsara/reports/vehicles/fuel_energy/__init__.py +2 -2
  96. samsara/reports/vehicles/fuel_energy/client.py +11 -11
  97. samsara/reports/vehicles/fuel_energy/raw_client.py +7 -7
  98. samsara/reports/vehicles/fuel_energy/types/__init__.py +2 -2
  99. samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +5 -0
  100. samsara/reports/vehicles/idling/client.py +27 -15
  101. samsara/reports/vehicles/idling/raw_client.py +59 -11
  102. samsara/routes/client.py +21 -11
  103. samsara/routes/raw_client.py +43 -8
  104. samsara/safety_events/audit_logs/client.py +21 -13
  105. samsara/safety_events/audit_logs/raw_client.py +39 -9
  106. samsara/safety_events/client.py +21 -11
  107. samsara/safety_events/raw_client.py +47 -9
  108. samsara/speeding_intervals/client.py +25 -17
  109. samsara/speeding_intervals/raw_client.py +55 -13
  110. samsara/tachograph/__init__.py +7 -0
  111. samsara/tachograph/client.py +44 -0
  112. samsara/{drivers/tachograph_files → tachograph/driver}/client.py +162 -15
  113. samsara/{drivers/tachograph_files → tachograph/driver}/raw_client.py +153 -4
  114. samsara/tachograph/raw_client.py +13 -0
  115. samsara/{vehicles/tachograph_files → tachograph/vehicles}/client.py +15 -15
  116. samsara/{vehicles/tachograph_files → tachograph/vehicles}/raw_client.py +4 -4
  117. samsara/tags/client.py +21 -11
  118. samsara/tags/raw_client.py +39 -8
  119. samsara/trailers/client.py +21 -11
  120. samsara/trailers/raw_client.py +43 -8
  121. samsara/training_courses/client.py +21 -11
  122. samsara/training_courses/raw_client.py +43 -9
  123. samsara/trips/client.py +21 -11
  124. samsara/trips/raw_client.py +49 -9
  125. samsara/types/__init__.py +406 -50
  126. samsara/types/advanced_idling_get_idling_events_bad_gateway_error_response_body.py +33 -0
  127. samsara/types/advanced_idling_get_idling_events_gateway_timeout_error_response_body.py +33 -0
  128. samsara/types/{hos_daily_logs_update_shipping_docs_internal_server_error_response_body.py → advanced_idling_get_idling_events_internal_server_error_response_body.py} +1 -1
  129. samsara/types/advanced_idling_get_idling_events_method_not_allowed_error_response_body.py +33 -0
  130. samsara/types/{hos_daily_logs_update_shipping_docs_not_found_error_response_body.py → advanced_idling_get_idling_events_not_found_error_response_body.py} +1 -1
  131. samsara/types/{hos_daily_logs_update_shipping_docs_not_implemented_error_response_body.py → advanced_idling_get_idling_events_not_implemented_error_response_body.py} +1 -1
  132. samsara/types/advanced_idling_get_idling_events_response_body.py +26 -0
  133. samsara/types/{hos_daily_logs_update_shipping_docs_service_unavailable_error_response_body.py → advanced_idling_get_idling_events_service_unavailable_error_response_body.py} +1 -1
  134. samsara/types/{hos_daily_logs_update_shipping_docs_gateway_timeout_error_response_body.py → advanced_idling_get_idling_events_too_many_requests_error_response_body.py} +2 -2
  135. samsara/types/advanced_idling_get_idling_events_unauthorized_error_response_body.py +33 -0
  136. samsara/types/alert_object_asset_response_body.py +63 -0
  137. samsara/types/{assets_create_asset_response_body_type.py → alert_object_asset_response_body_type.py} +1 -1
  138. samsara/types/assets_create_asset_response_body.py +2 -87
  139. samsara/types/assets_update_asset_response_body.py +2 -87
  140. samsara/types/continuous_reading_alert_threshold_response_body.py +49 -0
  141. samsara/types/continuous_reading_alert_threshold_response_body_operation.py +7 -0
  142. samsara/types/continuous_reading_alert_threshold_response_body_unit.py +62 -0
  143. samsara/types/device_response_response_body.py +1 -1
  144. samsara/types/device_response_response_body_model.py +1 -0
  145. samsara/types/dvir_defect_get_defect_bad_gateway_error_response_body.py +33 -0
  146. samsara/types/dvir_defect_get_defect_gateway_timeout_error_response_body.py +33 -0
  147. samsara/types/dvir_defect_get_defect_internal_server_error_response_body.py +33 -0
  148. samsara/types/dvir_defect_get_defect_method_not_allowed_error_response_body.py +33 -0
  149. samsara/types/dvir_defect_get_defect_not_found_error_response_body.py +33 -0
  150. samsara/types/dvir_defect_get_defect_not_implemented_error_response_body.py +33 -0
  151. samsara/types/dvir_defect_get_defect_response_body.py +91 -0
  152. samsara/types/dvir_defect_get_defect_service_unavailable_error_response_body.py +33 -0
  153. samsara/types/dvir_defect_get_defect_too_many_requests_error_response_body.py +33 -0
  154. samsara/types/dvir_defect_get_defect_unauthorized_error_response_body.py +33 -0
  155. samsara/types/dvir_get_dvir_bad_gateway_error_response_body.py +33 -0
  156. samsara/types/dvir_get_dvir_gateway_timeout_error_response_body.py +33 -0
  157. samsara/types/dvir_get_dvir_internal_server_error_response_body.py +33 -0
  158. samsara/types/dvir_get_dvir_method_not_allowed_error_response_body.py +33 -0
  159. samsara/types/dvir_get_dvir_not_found_error_response_body.py +33 -0
  160. samsara/types/dvir_get_dvir_not_implemented_error_response_body.py +33 -0
  161. samsara/types/dvir_get_dvir_response_body.py +99 -0
  162. samsara/types/dvir_get_dvir_response_body_safety_status.py +5 -0
  163. samsara/types/dvir_get_dvir_response_body_type.py +5 -0
  164. samsara/types/dvir_get_dvir_service_unavailable_error_response_body.py +33 -0
  165. samsara/types/dvir_get_dvir_too_many_requests_error_response_body.py +33 -0
  166. samsara/types/dvir_get_dvir_unauthorized_error_response_body.py +33 -0
  167. samsara/types/enum_reading_alert_threshold_response_body.py +31 -0
  168. samsara/types/enum_value_response_body.py +31 -0
  169. samsara/types/equipment_gateway_engine_seconds.py +1 -1
  170. samsara/types/equipment_gateway_j_1939_engine_seconds.py +1 -1
  171. samsara/types/equipment_obd_engine_seconds.py +1 -1
  172. samsara/types/event_location_response_body.py +31 -0
  173. samsara/types/form_submission_request_field_input_object_request_body.py +7 -1
  174. samsara/types/form_submission_request_field_input_object_request_body_type.py +3 -1
  175. samsara/types/{hos_daily_logs_update_shipping_docs_response_body.py → form_submission_request_geofence_object_request_body.py} +9 -3
  176. samsara/types/form_submission_request_geofence_value_object_request_body.py +24 -0
  177. samsara/types/form_submission_response_object_response_body.py +8 -0
  178. samsara/types/{form_template_reference_object_request_body.py → form_template_request_object_request_body.py} +6 -4
  179. samsara/types/form_template_response_object_response_body.py +74 -0
  180. samsara/types/form_template_section_object_response_body.py +47 -0
  181. samsara/types/form_templates_get_form_templates_bad_gateway_error_response_body.py +33 -0
  182. samsara/types/form_templates_get_form_templates_gateway_timeout_error_response_body.py +33 -0
  183. samsara/types/form_templates_get_form_templates_internal_server_error_response_body.py +33 -0
  184. samsara/types/form_templates_get_form_templates_method_not_allowed_error_response_body.py +33 -0
  185. samsara/types/form_templates_get_form_templates_not_found_error_response_body.py +33 -0
  186. samsara/types/form_templates_get_form_templates_not_implemented_error_response_body.py +33 -0
  187. samsara/types/form_templates_get_form_templates_response_body.py +26 -0
  188. samsara/types/form_templates_get_form_templates_service_unavailable_error_response_body.py +33 -0
  189. samsara/types/form_templates_get_form_templates_too_many_requests_error_response_body.py +33 -0
  190. samsara/types/form_templates_get_form_templates_unauthorized_error_response_body.py +33 -0
  191. samsara/types/forms_action_object_response_body.py +43 -0
  192. samsara/types/forms_action_object_response_body_type.py +7 -0
  193. samsara/types/forms_approval_config_object_response_body.py +32 -0
  194. samsara/types/forms_asset_object_response_body.py +8 -1
  195. samsara/types/forms_check_boxes_value_object_response_body.py +7 -0
  196. samsara/types/forms_condition_object_response_body.py +36 -0
  197. samsara/types/forms_condition_object_response_body_type.py +7 -0
  198. samsara/types/forms_conditional_action_object_response_body.py +30 -0
  199. samsara/types/forms_field_definition_object_response_body.py +143 -0
  200. samsara/types/forms_field_definition_object_response_body_allowed_asset_types_item.py +7 -0
  201. samsara/types/forms_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
  202. samsara/types/forms_field_definition_object_response_body_type.py +22 -0
  203. samsara/types/forms_field_input_object_response_body.py +7 -4
  204. samsara/types/forms_field_input_object_response_body_type.py +20 -0
  205. samsara/types/forms_geofence_object_response_body.py +53 -0
  206. samsara/types/forms_geofence_object_response_body_entry_type.py +5 -0
  207. samsara/types/forms_geofence_value_object_response_body.py +24 -0
  208. samsara/types/forms_multiple_choice_value_object_response_body.py +8 -1
  209. samsara/types/forms_product_submission_approval_details_object_response_body.py +26 -0
  210. samsara/types/forms_select_option_object_response_body.py +47 -0
  211. samsara/types/forms_single_approval_config_object_response_body.py +33 -0
  212. samsara/types/forms_table_cell_object_response_body.py +3 -4
  213. samsara/types/forms_table_cell_object_response_body_type.py +8 -0
  214. samsara/types/forms_table_column_object_response_body.py +3 -4
  215. samsara/types/forms_table_column_object_response_body_type.py +8 -0
  216. samsara/types/forms_table_field_definition_object_response_body.py +91 -0
  217. samsara/types/forms_table_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
  218. samsara/types/forms_table_field_definition_object_response_body_type.py +8 -0
  219. samsara/types/fuel_cost_object_response_body.py +32 -0
  220. samsara/types/fuel_cost_object_response_body_currency.py +5 -0
  221. samsara/types/fuel_volume_response_body.py +28 -0
  222. samsara/types/fuel_volume_response_body_unit.py +5 -0
  223. samsara/types/gaseous_fuel_cost_object_response_body.py +32 -0
  224. samsara/types/gaseous_fuel_cost_object_response_body_currency.py +7 -0
  225. samsara/types/gateway_details_response_response_body.py +14 -0
  226. samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +1 -0
  227. samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +1 -0
  228. samsara/types/idling_event_object_response_body.py +101 -0
  229. samsara/types/idling_event_object_response_body_address_type.py +17 -0
  230. samsara/types/inline_response_2005.py +24 -0
  231. samsara/types/inline_response_2006.py +24 -0
  232. samsara/types/reading_definition_response_body.py +59 -0
  233. samsara/types/reading_history_response_body.py +47 -0
  234. samsara/types/reading_snapshot_response_body.py +52 -0
  235. samsara/types/reading_trigger_continuous_value_object_request_body.py +51 -0
  236. samsara/types/reading_trigger_continuous_value_object_request_body_operation.py +7 -0
  237. samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +62 -0
  238. samsara/types/reading_trigger_continuous_value_object_response_body.py +51 -0
  239. samsara/types/reading_trigger_continuous_value_object_response_body_operation.py +7 -0
  240. samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +62 -0
  241. samsara/types/reading_trigger_details_object_request_body.py +48 -0
  242. samsara/types/reading_trigger_details_object_response_body.py +48 -0
  243. samsara/types/reading_trigger_details_response_body.py +38 -0
  244. samsara/types/reading_trigger_enum_value_object_request_body.py +31 -0
  245. samsara/types/reading_trigger_enum_value_object_response_body.py +31 -0
  246. samsara/types/reading_type_response_body.py +34 -0
  247. samsara/types/reading_type_response_body_data_type.py +5 -0
  248. samsara/types/readings_get_readings_history_bad_gateway_error_response_body.py +33 -0
  249. samsara/types/{hos_daily_logs_update_shipping_docs_bad_gateway_error_response_body.py → readings_get_readings_history_gateway_timeout_error_response_body.py} +2 -2
  250. samsara/types/readings_get_readings_history_internal_server_error_response_body.py +33 -0
  251. samsara/types/readings_get_readings_history_method_not_allowed_error_response_body.py +33 -0
  252. samsara/types/readings_get_readings_history_not_found_error_response_body.py +33 -0
  253. samsara/types/readings_get_readings_history_not_implemented_error_response_body.py +33 -0
  254. samsara/types/readings_get_readings_history_response_body.py +26 -0
  255. samsara/types/readings_get_readings_history_service_unavailable_error_response_body.py +33 -0
  256. samsara/types/readings_get_readings_history_too_many_requests_error_response_body.py +33 -0
  257. samsara/types/readings_get_readings_history_unauthorized_error_response_body.py +33 -0
  258. samsara/types/readings_get_readings_snapshot_bad_gateway_error_response_body.py +33 -0
  259. samsara/types/readings_get_readings_snapshot_gateway_timeout_error_response_body.py +33 -0
  260. samsara/types/readings_get_readings_snapshot_internal_server_error_response_body.py +33 -0
  261. samsara/types/readings_get_readings_snapshot_method_not_allowed_error_response_body.py +33 -0
  262. samsara/types/readings_get_readings_snapshot_not_found_error_response_body.py +33 -0
  263. samsara/types/readings_get_readings_snapshot_not_implemented_error_response_body.py +33 -0
  264. samsara/types/readings_get_readings_snapshot_response_body.py +26 -0
  265. samsara/types/readings_get_readings_snapshot_service_unavailable_error_response_body.py +33 -0
  266. samsara/types/{hos_daily_logs_update_shipping_docs_unauthorized_error_response_body.py → readings_get_readings_snapshot_too_many_requests_error_response_body.py} +2 -2
  267. samsara/types/readings_get_readings_snapshot_unauthorized_error_response_body.py +33 -0
  268. samsara/types/readings_list_readings_definitions_bad_gateway_error_response_body.py +33 -0
  269. samsara/types/{hos_daily_logs_update_shipping_docs_too_many_requests_error_response_body.py → readings_list_readings_definitions_gateway_timeout_error_response_body.py} +2 -2
  270. samsara/types/readings_list_readings_definitions_internal_server_error_response_body.py +33 -0
  271. samsara/types/readings_list_readings_definitions_method_not_allowed_error_response_body.py +33 -0
  272. samsara/types/readings_list_readings_definitions_not_found_error_response_body.py +33 -0
  273. samsara/types/readings_list_readings_definitions_not_implemented_error_response_body.py +33 -0
  274. samsara/types/readings_list_readings_definitions_response_body.py +26 -0
  275. samsara/types/readings_list_readings_definitions_service_unavailable_error_response_body.py +33 -0
  276. samsara/types/{hos_daily_logs_update_shipping_docs_method_not_allowed_error_response_body.py → readings_list_readings_definitions_too_many_requests_error_response_body.py} +2 -2
  277. samsara/types/readings_list_readings_definitions_unauthorized_error_response_body.py +33 -0
  278. samsara/types/safety_score_configuration_settings_object_response_body.py +7 -0
  279. samsara/types/single_approval_requirements_object_response_body.py +28 -0
  280. samsara/types/sudden_fuel_level_drop_response_body.py +33 -0
  281. samsara/types/sudden_fuel_level_rise_response_body.py +33 -0
  282. samsara/types/trigger_params_object_request_body.py +2 -0
  283. samsara/types/trigger_params_object_response_body.py +2 -0
  284. samsara/types/unit_response_body.py +39 -0
  285. samsara/types/unit_response_body_base_unit.py +62 -0
  286. samsara/types/unit_response_body_measurement_type.py +28 -0
  287. samsara/types/uploaded_media_object_response_body.py +1 -1
  288. samsara/types/uploaded_media_object_response_body_trigger_reason.py +8 -1
  289. samsara/types/v_1_message.py +29 -0
  290. samsara/types/v_1_message_response.py +41 -0
  291. samsara/types/v_1_message_sender.py +27 -0
  292. samsara/types/v_1_messages.py +7 -0
  293. samsara/types/v_1_messages_response.py +7 -0
  294. samsara/types/webhook_response_response_body_event_types_item.py +1 -0
  295. samsara/types/webhooks_get_webhook_response_body_event_types_item.py +1 -0
  296. samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +1 -0
  297. samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +1 -0
  298. samsara/types/work_order_item_object_request_body.py +1 -1
  299. samsara/types/work_order_item_object_request_body_type.py +10 -1
  300. samsara/types/work_order_item_object_response_body.py +1 -1
  301. samsara/types/work_order_item_object_response_body_type.py +10 -1
  302. samsara/types/workflow_geofence_event_response_object_response_body.py +6 -0
  303. samsara/types/workflow_incident_details_object_response_body.py +2 -0
  304. samsara/types/workflow_trigger_object_request_body.py +1 -0
  305. samsara/types/workflow_trigger_object_response_body.py +1 -0
  306. samsara/user_roles/client.py +21 -11
  307. samsara/user_roles/raw_client.py +39 -9
  308. samsara/users/client.py +21 -11
  309. samsara/users/raw_client.py +39 -8
  310. samsara/v_1_messages/__init__.py +4 -0
  311. samsara/v_1_messages/client.py +258 -0
  312. samsara/v_1_messages/raw_client.py +273 -0
  313. samsara/vehicles/__init__.py +1 -2
  314. samsara/vehicles/client.py +31 -16
  315. samsara/vehicles/immobilizer/client.py +21 -13
  316. samsara/vehicles/immobilizer/raw_client.py +43 -9
  317. samsara/vehicles/locations/client.py +60 -32
  318. samsara/vehicles/locations/raw_client.py +132 -25
  319. samsara/vehicles/raw_client.py +61 -8
  320. samsara/vehicles/stats/client.py +66 -38
  321. samsara/vehicles/stats/raw_client.py +148 -31
  322. samsara/webhooks/client.py +21 -11
  323. samsara/webhooks/raw_client.py +41 -8
  324. samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +1 -0
  325. {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/METADATA +25 -18
  326. {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/RECORD +332 -197
  327. samsara/beta/client.py +0 -161
  328. samsara/drivers/tachograph_activity/client.py +0 -186
  329. samsara/drivers/tachograph_activity/raw_client.py +0 -169
  330. samsara/hours_of_service/__init__.py +0 -7
  331. samsara/hours_of_service/client.py +0 -229
  332. samsara/hours_of_service/raw_client.py +0 -425
  333. samsara/hours_of_service/types/__init__.py +0 -9
  334. samsara/hours_of_service/types/hours_of_service_get_daily_logs_request_driver_activation_status.py +0 -7
  335. samsara/reports/ifta/vehicle/types/vehicle_get_request_quarter.py +0 -5
  336. samsara/reports/vehicles/fuel_energy/types/fuel_energy_get_request_energy_type.py +0 -5
  337. samsara/types/assets_create_asset_response_body_regulation_mode.py +0 -7
  338. samsara/types/assets_update_asset_response_body_regulation_mode.py +0 -7
  339. samsara/types/assets_update_asset_response_body_type.py +0 -7
  340. samsara/types/patch_shipping_docs_response_body_response_body.py +0 -93
  341. /samsara/{beta → forms}/__init__.py +0 -0
  342. /samsara/{drivers/tachograph_activity → readings}/__init__.py +0 -0
  343. /samsara/{drivers/tachograph_files → tachograph/driver}/__init__.py +0 -0
  344. /samsara/{vehicles/tachograph_files → tachograph/vehicles}/__init__.py +0 -0
  345. {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/LICENSE +0 -0
  346. {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/WHEEL +0 -0
@@ -1,229 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
- from ..core.request_options import RequestOptions
7
- from ..types.hos_daily_logs_get_hos_daily_logs_response_body import HosDailyLogsGetHosDailyLogsResponseBody
8
- from .raw_client import AsyncRawHoursOfServiceClient, RawHoursOfServiceClient
9
- from .types.hours_of_service_get_daily_logs_request_driver_activation_status import (
10
- HoursOfServiceGetDailyLogsRequestDriverActivationStatus,
11
- )
12
-
13
-
14
- class HoursOfServiceClient:
15
- def __init__(self, *, client_wrapper: SyncClientWrapper):
16
- self._raw_client = RawHoursOfServiceClient(client_wrapper=client_wrapper)
17
-
18
- @property
19
- def with_raw_response(self) -> RawHoursOfServiceClient:
20
- """
21
- Retrieves a raw implementation of this client that returns raw responses.
22
-
23
- Returns
24
- -------
25
- RawHoursOfServiceClient
26
- """
27
- return self._raw_client
28
-
29
- def get_daily_logs(
30
- self,
31
- *,
32
- driver_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
33
- start_date: typing.Optional[str] = None,
34
- end_date: typing.Optional[str] = None,
35
- tag_ids: typing.Optional[str] = None,
36
- parent_tag_ids: typing.Optional[str] = None,
37
- driver_activation_status: typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus] = None,
38
- after: typing.Optional[str] = None,
39
- expand: typing.Optional[typing.Literal["vehicle"]] = None,
40
- request_options: typing.Optional[RequestOptions] = None,
41
- ) -> HosDailyLogsGetHosDailyLogsResponseBody:
42
- """
43
- Get summarized daily Hours of Service charts for the specified drivers.
44
-
45
- The time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.
46
-
47
- The `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).
48
-
49
- **Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.
50
-
51
- If you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).
52
-
53
- <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
54
-
55
- To use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance 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>
56
-
57
-
58
- **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.
59
-
60
- Parameters
61
- ----------
62
- driver_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
63
- A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`
64
-
65
- start_date : typing.Optional[str]
66
- A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field
67
-
68
- end_date : typing.Optional[str]
69
- An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field
70
-
71
- tag_ids : typing.Optional[str]
72
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
73
-
74
- parent_tag_ids : typing.Optional[str]
75
- 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`
76
-
77
- driver_activation_status : typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus]
78
- If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers). Valid values: `active`, `deactivated`
79
-
80
- after : typing.Optional[str]
81
- 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.
82
-
83
- expand : typing.Optional[typing.Literal["vehicle"]]
84
- Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.
85
-
86
- Valid value: `vehicle` Valid values: `vehicle`
87
-
88
- request_options : typing.Optional[RequestOptions]
89
- Request-specific configuration.
90
-
91
- Returns
92
- -------
93
- HosDailyLogsGetHosDailyLogsResponseBody
94
- OK response.
95
-
96
- Examples
97
- --------
98
- from samsara import Samsara
99
-
100
- client = Samsara(
101
- token="YOUR_TOKEN",
102
- )
103
- client.hours_of_service.get_daily_logs()
104
- """
105
- _response = self._raw_client.get_daily_logs(
106
- driver_ids=driver_ids,
107
- start_date=start_date,
108
- end_date=end_date,
109
- tag_ids=tag_ids,
110
- parent_tag_ids=parent_tag_ids,
111
- driver_activation_status=driver_activation_status,
112
- after=after,
113
- expand=expand,
114
- request_options=request_options,
115
- )
116
- return _response.data
117
-
118
-
119
- class AsyncHoursOfServiceClient:
120
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
121
- self._raw_client = AsyncRawHoursOfServiceClient(client_wrapper=client_wrapper)
122
-
123
- @property
124
- def with_raw_response(self) -> AsyncRawHoursOfServiceClient:
125
- """
126
- Retrieves a raw implementation of this client that returns raw responses.
127
-
128
- Returns
129
- -------
130
- AsyncRawHoursOfServiceClient
131
- """
132
- return self._raw_client
133
-
134
- async def get_daily_logs(
135
- self,
136
- *,
137
- driver_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
138
- start_date: typing.Optional[str] = None,
139
- end_date: typing.Optional[str] = None,
140
- tag_ids: typing.Optional[str] = None,
141
- parent_tag_ids: typing.Optional[str] = None,
142
- driver_activation_status: typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus] = None,
143
- after: typing.Optional[str] = None,
144
- expand: typing.Optional[typing.Literal["vehicle"]] = None,
145
- request_options: typing.Optional[RequestOptions] = None,
146
- ) -> HosDailyLogsGetHosDailyLogsResponseBody:
147
- """
148
- Get summarized daily Hours of Service charts for the specified drivers.
149
-
150
- The time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.
151
-
152
- The `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).
153
-
154
- **Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.
155
-
156
- If you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).
157
-
158
- <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
159
-
160
- To use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance 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>
161
-
162
-
163
- **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.
164
-
165
- Parameters
166
- ----------
167
- driver_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
168
- A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`
169
-
170
- start_date : typing.Optional[str]
171
- A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field
172
-
173
- end_date : typing.Optional[str]
174
- An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field
175
-
176
- tag_ids : typing.Optional[str]
177
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
178
-
179
- parent_tag_ids : typing.Optional[str]
180
- 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`
181
-
182
- driver_activation_status : typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus]
183
- If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers). Valid values: `active`, `deactivated`
184
-
185
- after : typing.Optional[str]
186
- 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.
187
-
188
- expand : typing.Optional[typing.Literal["vehicle"]]
189
- Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.
190
-
191
- Valid value: `vehicle` Valid values: `vehicle`
192
-
193
- request_options : typing.Optional[RequestOptions]
194
- Request-specific configuration.
195
-
196
- Returns
197
- -------
198
- HosDailyLogsGetHosDailyLogsResponseBody
199
- OK response.
200
-
201
- Examples
202
- --------
203
- import asyncio
204
-
205
- from samsara import AsyncSamsara
206
-
207
- client = AsyncSamsara(
208
- token="YOUR_TOKEN",
209
- )
210
-
211
-
212
- async def main() -> None:
213
- await client.hours_of_service.get_daily_logs()
214
-
215
-
216
- asyncio.run(main())
217
- """
218
- _response = await self._raw_client.get_daily_logs(
219
- driver_ids=driver_ids,
220
- start_date=start_date,
221
- end_date=end_date,
222
- tag_ids=tag_ids,
223
- parent_tag_ids=parent_tag_ids,
224
- driver_activation_status=driver_activation_status,
225
- after=after,
226
- expand=expand,
227
- request_options=request_options,
228
- )
229
- return _response.data
@@ -1,425 +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.http_response import AsyncHttpResponse, HttpResponse
9
- from ..core.pydantic_utilities import parse_obj_as
10
- from ..core.request_options import RequestOptions
11
- from ..errors.bad_gateway_error import BadGatewayError
12
- from ..errors.gateway_timeout_error import GatewayTimeoutError
13
- from ..errors.internal_server_error import InternalServerError
14
- from ..errors.method_not_allowed_error import MethodNotAllowedError
15
- from ..errors.not_found_error import NotFoundError
16
- from ..errors.not_implemented_error import NotImplementedError
17
- from ..errors.service_unavailable_error import ServiceUnavailableError
18
- from ..errors.too_many_requests_error import TooManyRequestsError
19
- from ..errors.unauthorized_error import UnauthorizedError
20
- from ..types.hos_daily_logs_get_hos_daily_logs_response_body import HosDailyLogsGetHosDailyLogsResponseBody
21
- from .types.hours_of_service_get_daily_logs_request_driver_activation_status import (
22
- HoursOfServiceGetDailyLogsRequestDriverActivationStatus,
23
- )
24
-
25
-
26
- class RawHoursOfServiceClient:
27
- def __init__(self, *, client_wrapper: SyncClientWrapper):
28
- self._client_wrapper = client_wrapper
29
-
30
- def get_daily_logs(
31
- self,
32
- *,
33
- driver_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
34
- start_date: typing.Optional[str] = None,
35
- end_date: typing.Optional[str] = None,
36
- tag_ids: typing.Optional[str] = None,
37
- parent_tag_ids: typing.Optional[str] = None,
38
- driver_activation_status: typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus] = None,
39
- after: typing.Optional[str] = None,
40
- expand: typing.Optional[typing.Literal["vehicle"]] = None,
41
- request_options: typing.Optional[RequestOptions] = None,
42
- ) -> HttpResponse[HosDailyLogsGetHosDailyLogsResponseBody]:
43
- """
44
- Get summarized daily Hours of Service charts for the specified drivers.
45
-
46
- The time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.
47
-
48
- The `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).
49
-
50
- **Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.
51
-
52
- If you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).
53
-
54
- <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
55
-
56
- To use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance 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>
57
-
58
-
59
- **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.
60
-
61
- Parameters
62
- ----------
63
- driver_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
64
- A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`
65
-
66
- start_date : typing.Optional[str]
67
- A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field
68
-
69
- end_date : typing.Optional[str]
70
- An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field
71
-
72
- tag_ids : typing.Optional[str]
73
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
74
-
75
- parent_tag_ids : typing.Optional[str]
76
- 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`
77
-
78
- driver_activation_status : typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus]
79
- If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers). Valid values: `active`, `deactivated`
80
-
81
- after : typing.Optional[str]
82
- 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.
83
-
84
- expand : typing.Optional[typing.Literal["vehicle"]]
85
- Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.
86
-
87
- Valid value: `vehicle` Valid values: `vehicle`
88
-
89
- request_options : typing.Optional[RequestOptions]
90
- Request-specific configuration.
91
-
92
- Returns
93
- -------
94
- HttpResponse[HosDailyLogsGetHosDailyLogsResponseBody]
95
- OK response.
96
- """
97
- _response = self._client_wrapper.httpx_client.request(
98
- "fleet/hos/daily-logs",
99
- method="GET",
100
- params={
101
- "driverIds": driver_ids,
102
- "startDate": start_date,
103
- "endDate": end_date,
104
- "tagIds": tag_ids,
105
- "parentTagIds": parent_tag_ids,
106
- "driverActivationStatus": driver_activation_status,
107
- "after": after,
108
- "expand": expand,
109
- },
110
- request_options=request_options,
111
- )
112
- try:
113
- if 200 <= _response.status_code < 300:
114
- _data = typing.cast(
115
- HosDailyLogsGetHosDailyLogsResponseBody,
116
- parse_obj_as(
117
- type_=HosDailyLogsGetHosDailyLogsResponseBody, # type: ignore
118
- object_=_response.json(),
119
- ),
120
- )
121
- return HttpResponse(response=_response, data=_data)
122
- if _response.status_code == 401:
123
- raise UnauthorizedError(
124
- headers=dict(_response.headers),
125
- body=typing.cast(
126
- typing.Optional[typing.Any],
127
- parse_obj_as(
128
- type_=typing.Optional[typing.Any], # type: ignore
129
- object_=_response.json(),
130
- ),
131
- ),
132
- )
133
- if _response.status_code == 404:
134
- raise NotFoundError(
135
- headers=dict(_response.headers),
136
- body=typing.cast(
137
- typing.Optional[typing.Any],
138
- parse_obj_as(
139
- type_=typing.Optional[typing.Any], # type: ignore
140
- object_=_response.json(),
141
- ),
142
- ),
143
- )
144
- if _response.status_code == 405:
145
- raise MethodNotAllowedError(
146
- headers=dict(_response.headers),
147
- body=typing.cast(
148
- typing.Optional[typing.Any],
149
- parse_obj_as(
150
- type_=typing.Optional[typing.Any], # type: ignore
151
- object_=_response.json(),
152
- ),
153
- ),
154
- )
155
- if _response.status_code == 429:
156
- raise TooManyRequestsError(
157
- headers=dict(_response.headers),
158
- body=typing.cast(
159
- typing.Optional[typing.Any],
160
- parse_obj_as(
161
- type_=typing.Optional[typing.Any], # type: ignore
162
- object_=_response.json(),
163
- ),
164
- ),
165
- )
166
- if _response.status_code == 500:
167
- raise InternalServerError(
168
- headers=dict(_response.headers),
169
- body=typing.cast(
170
- typing.Optional[typing.Any],
171
- parse_obj_as(
172
- type_=typing.Optional[typing.Any], # type: ignore
173
- object_=_response.json(),
174
- ),
175
- ),
176
- )
177
- if _response.status_code == 501:
178
- raise NotImplementedError(
179
- headers=dict(_response.headers),
180
- body=typing.cast(
181
- typing.Optional[typing.Any],
182
- parse_obj_as(
183
- type_=typing.Optional[typing.Any], # type: ignore
184
- object_=_response.json(),
185
- ),
186
- ),
187
- )
188
- if _response.status_code == 502:
189
- raise BadGatewayError(
190
- headers=dict(_response.headers),
191
- body=typing.cast(
192
- typing.Optional[typing.Any],
193
- parse_obj_as(
194
- type_=typing.Optional[typing.Any], # type: ignore
195
- object_=_response.json(),
196
- ),
197
- ),
198
- )
199
- if _response.status_code == 503:
200
- raise ServiceUnavailableError(
201
- headers=dict(_response.headers),
202
- body=typing.cast(
203
- typing.Optional[typing.Any],
204
- parse_obj_as(
205
- type_=typing.Optional[typing.Any], # type: ignore
206
- object_=_response.json(),
207
- ),
208
- ),
209
- )
210
- if _response.status_code == 504:
211
- raise GatewayTimeoutError(
212
- headers=dict(_response.headers),
213
- body=typing.cast(
214
- typing.Optional[typing.Any],
215
- parse_obj_as(
216
- type_=typing.Optional[typing.Any], # type: ignore
217
- object_=_response.json(),
218
- ),
219
- ),
220
- )
221
- _response_json = _response.json()
222
- except JSONDecodeError:
223
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
224
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
225
-
226
-
227
- class AsyncRawHoursOfServiceClient:
228
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
229
- self._client_wrapper = client_wrapper
230
-
231
- async def get_daily_logs(
232
- self,
233
- *,
234
- driver_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
235
- start_date: typing.Optional[str] = None,
236
- end_date: typing.Optional[str] = None,
237
- tag_ids: typing.Optional[str] = None,
238
- parent_tag_ids: typing.Optional[str] = None,
239
- driver_activation_status: typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus] = None,
240
- after: typing.Optional[str] = None,
241
- expand: typing.Optional[typing.Literal["vehicle"]] = None,
242
- request_options: typing.Optional[RequestOptions] = None,
243
- ) -> AsyncHttpResponse[HosDailyLogsGetHosDailyLogsResponseBody]:
244
- """
245
- Get summarized daily Hours of Service charts for the specified drivers.
246
-
247
- The time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.
248
-
249
- The `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).
250
-
251
- **Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.
252
-
253
- If you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).
254
-
255
- <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
256
-
257
- To use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance 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>
258
-
259
-
260
- **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.
261
-
262
- Parameters
263
- ----------
264
- driver_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
265
- A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`
266
-
267
- start_date : typing.Optional[str]
268
- A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field
269
-
270
- end_date : typing.Optional[str]
271
- An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field
272
-
273
- tag_ids : typing.Optional[str]
274
- A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
275
-
276
- parent_tag_ids : typing.Optional[str]
277
- 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`
278
-
279
- driver_activation_status : typing.Optional[HoursOfServiceGetDailyLogsRequestDriverActivationStatus]
280
- If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers). Valid values: `active`, `deactivated`
281
-
282
- after : typing.Optional[str]
283
- 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.
284
-
285
- expand : typing.Optional[typing.Literal["vehicle"]]
286
- Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.
287
-
288
- Valid value: `vehicle` Valid values: `vehicle`
289
-
290
- request_options : typing.Optional[RequestOptions]
291
- Request-specific configuration.
292
-
293
- Returns
294
- -------
295
- AsyncHttpResponse[HosDailyLogsGetHosDailyLogsResponseBody]
296
- OK response.
297
- """
298
- _response = await self._client_wrapper.httpx_client.request(
299
- "fleet/hos/daily-logs",
300
- method="GET",
301
- params={
302
- "driverIds": driver_ids,
303
- "startDate": start_date,
304
- "endDate": end_date,
305
- "tagIds": tag_ids,
306
- "parentTagIds": parent_tag_ids,
307
- "driverActivationStatus": driver_activation_status,
308
- "after": after,
309
- "expand": expand,
310
- },
311
- request_options=request_options,
312
- )
313
- try:
314
- if 200 <= _response.status_code < 300:
315
- _data = typing.cast(
316
- HosDailyLogsGetHosDailyLogsResponseBody,
317
- parse_obj_as(
318
- type_=HosDailyLogsGetHosDailyLogsResponseBody, # type: ignore
319
- object_=_response.json(),
320
- ),
321
- )
322
- return AsyncHttpResponse(response=_response, data=_data)
323
- if _response.status_code == 401:
324
- raise UnauthorizedError(
325
- headers=dict(_response.headers),
326
- body=typing.cast(
327
- typing.Optional[typing.Any],
328
- parse_obj_as(
329
- type_=typing.Optional[typing.Any], # type: ignore
330
- object_=_response.json(),
331
- ),
332
- ),
333
- )
334
- if _response.status_code == 404:
335
- raise NotFoundError(
336
- headers=dict(_response.headers),
337
- body=typing.cast(
338
- typing.Optional[typing.Any],
339
- parse_obj_as(
340
- type_=typing.Optional[typing.Any], # type: ignore
341
- object_=_response.json(),
342
- ),
343
- ),
344
- )
345
- if _response.status_code == 405:
346
- raise MethodNotAllowedError(
347
- headers=dict(_response.headers),
348
- body=typing.cast(
349
- typing.Optional[typing.Any],
350
- parse_obj_as(
351
- type_=typing.Optional[typing.Any], # type: ignore
352
- object_=_response.json(),
353
- ),
354
- ),
355
- )
356
- if _response.status_code == 429:
357
- raise TooManyRequestsError(
358
- headers=dict(_response.headers),
359
- body=typing.cast(
360
- typing.Optional[typing.Any],
361
- parse_obj_as(
362
- type_=typing.Optional[typing.Any], # type: ignore
363
- object_=_response.json(),
364
- ),
365
- ),
366
- )
367
- if _response.status_code == 500:
368
- raise InternalServerError(
369
- headers=dict(_response.headers),
370
- body=typing.cast(
371
- typing.Optional[typing.Any],
372
- parse_obj_as(
373
- type_=typing.Optional[typing.Any], # type: ignore
374
- object_=_response.json(),
375
- ),
376
- ),
377
- )
378
- if _response.status_code == 501:
379
- raise NotImplementedError(
380
- headers=dict(_response.headers),
381
- body=typing.cast(
382
- typing.Optional[typing.Any],
383
- parse_obj_as(
384
- type_=typing.Optional[typing.Any], # type: ignore
385
- object_=_response.json(),
386
- ),
387
- ),
388
- )
389
- if _response.status_code == 502:
390
- raise BadGatewayError(
391
- headers=dict(_response.headers),
392
- body=typing.cast(
393
- typing.Optional[typing.Any],
394
- parse_obj_as(
395
- type_=typing.Optional[typing.Any], # type: ignore
396
- object_=_response.json(),
397
- ),
398
- ),
399
- )
400
- if _response.status_code == 503:
401
- raise ServiceUnavailableError(
402
- headers=dict(_response.headers),
403
- body=typing.cast(
404
- typing.Optional[typing.Any],
405
- parse_obj_as(
406
- type_=typing.Optional[typing.Any], # type: ignore
407
- object_=_response.json(),
408
- ),
409
- ),
410
- )
411
- if _response.status_code == 504:
412
- raise GatewayTimeoutError(
413
- headers=dict(_response.headers),
414
- body=typing.cast(
415
- typing.Optional[typing.Any],
416
- parse_obj_as(
417
- type_=typing.Optional[typing.Any], # type: ignore
418
- object_=_response.json(),
419
- ),
420
- ),
421
- )
422
- _response_json = _response.json()
423
- except JSONDecodeError:
424
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
425
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -1,9 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- # isort: skip_file
4
-
5
- from .hours_of_service_get_daily_logs_request_driver_activation_status import (
6
- HoursOfServiceGetDailyLogsRequestDriverActivationStatus,
7
- )
8
-
9
- __all__ = ["HoursOfServiceGetDailyLogsRequestDriverActivationStatus"]
@@ -1,7 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- HoursOfServiceGetDailyLogsRequestDriverActivationStatus = typing.Union[
6
- typing.Literal["active", "deactivated"], typing.Any
7
- ]