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,1980 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import datetime as dt
4
- import typing
5
- from json.decoder import JSONDecodeError
6
-
7
- from ...core.api_error import ApiError
8
- from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
- from ...core.http_response import AsyncHttpResponse, HttpResponse
10
- from ...core.pagination import AsyncPager, BaseHttpResponse, SyncPager
11
- from ...core.pydantic_utilities import parse_obj_as
12
- from ...core.request_options import RequestOptions
13
- from ...core.serialization import convert_and_respect_annotation_metadata
14
- from ...errors.bad_gateway_error import BadGatewayError
15
- from ...errors.gateway_timeout_error import GatewayTimeoutError
16
- from ...errors.internal_server_error import InternalServerError
17
- from ...errors.method_not_allowed_error import MethodNotAllowedError
18
- from ...errors.not_found_error import NotFoundError
19
- from ...errors.not_implemented_error import NotImplementedError
20
- from ...errors.service_unavailable_error import ServiceUnavailableError
21
- from ...errors.too_many_requests_error import TooManyRequestsError
22
- from ...errors.unauthorized_error import UnauthorizedError
23
- from ...types.service_task_instance_input_object_request_body import ServiceTaskInstanceInputObjectRequestBody
24
- from ...types.work_order_discount_object_request_body import WorkOrderDiscountObjectRequestBody
25
- from ...types.work_order_item_object_request_body import WorkOrderItemObjectRequestBody
26
- from ...types.work_order_object_response_body import WorkOrderObjectResponseBody
27
- from ...types.work_order_tax_object_request_body import WorkOrderTaxObjectRequestBody
28
- from ...types.work_orders_get_work_orders_response_body import WorkOrdersGetWorkOrdersResponseBody
29
- from ...types.work_orders_patch_work_orders_response_body import WorkOrdersPatchWorkOrdersResponseBody
30
- from ...types.work_orders_post_work_orders_response_body import WorkOrdersPostWorkOrdersResponseBody
31
- from ...types.work_orders_stream_work_orders_response_body import WorkOrdersStreamWorkOrdersResponseBody
32
- from .types.work_orders_patch_work_orders_request_body_category import WorkOrdersPatchWorkOrdersRequestBodyCategory
33
- from .types.work_orders_patch_work_orders_request_body_priority import WorkOrdersPatchWorkOrdersRequestBodyPriority
34
- from .types.work_orders_patch_work_orders_request_body_status import WorkOrdersPatchWorkOrdersRequestBodyStatus
35
- from .types.work_orders_post_work_orders_request_body_category import WorkOrdersPostWorkOrdersRequestBodyCategory
36
- from .types.work_orders_post_work_orders_request_body_priority import WorkOrdersPostWorkOrdersRequestBodyPriority
37
- from .types.work_orders_stream_request_work_order_statuses_item import WorkOrdersStreamRequestWorkOrderStatusesItem
38
-
39
- # this is used as the default value for optional parameters
40
- OMIT = typing.cast(typing.Any, ...)
41
-
42
-
43
- class RawWorkOrdersClient:
44
- def __init__(self, *, client_wrapper: SyncClientWrapper):
45
- self._client_wrapper = client_wrapper
46
-
47
- def list(
48
- self,
49
- *,
50
- ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
51
- after: typing.Optional[str] = None,
52
- request_options: typing.Optional[RequestOptions] = None,
53
- ) -> SyncPager[WorkOrderObjectResponseBody]:
54
- """
55
- Gets work orders.
56
-
57
- <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>).
58
-
59
- To use this endpoint, select **Read Work Orders** under the Closed Beta 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>
60
-
61
-
62
- **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.
63
-
64
- Parameters
65
- ----------
66
- ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
67
- Filter by the IDs. Up to 100 ids. Returns all if no ids are provided.
68
-
69
- after : typing.Optional[str]
70
- 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.
71
-
72
- request_options : typing.Optional[RequestOptions]
73
- Request-specific configuration.
74
-
75
- Returns
76
- -------
77
- SyncPager[WorkOrderObjectResponseBody]
78
- OK response.
79
- """
80
- _response = self._client_wrapper.httpx_client.request(
81
- "maintenance/work-orders",
82
- method="GET",
83
- params={
84
- "ids": ids,
85
- "after": after,
86
- },
87
- request_options=request_options,
88
- )
89
- try:
90
- if 200 <= _response.status_code < 300:
91
- _parsed_response = typing.cast(
92
- WorkOrdersGetWorkOrdersResponseBody,
93
- parse_obj_as(
94
- type_=WorkOrdersGetWorkOrdersResponseBody, # type: ignore
95
- object_=_response.json(),
96
- ),
97
- )
98
- _items = _parsed_response.data
99
- _has_next = False
100
- _get_next = None
101
- if _parsed_response.pagination is not None:
102
- _parsed_next = _parsed_response.pagination.end_cursor
103
- _has_next = _parsed_next is not None and _parsed_next != ""
104
- _get_next = lambda: self.list(
105
- ids=ids,
106
- after=_parsed_next,
107
- request_options=request_options,
108
- )
109
- return SyncPager(
110
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
111
- )
112
- if _response.status_code == 401:
113
- raise UnauthorizedError(
114
- headers=dict(_response.headers),
115
- body=typing.cast(
116
- typing.Optional[typing.Any],
117
- parse_obj_as(
118
- type_=typing.Optional[typing.Any], # type: ignore
119
- object_=_response.json(),
120
- ),
121
- ),
122
- )
123
- if _response.status_code == 404:
124
- raise NotFoundError(
125
- headers=dict(_response.headers),
126
- body=typing.cast(
127
- typing.Optional[typing.Any],
128
- parse_obj_as(
129
- type_=typing.Optional[typing.Any], # type: ignore
130
- object_=_response.json(),
131
- ),
132
- ),
133
- )
134
- if _response.status_code == 405:
135
- raise MethodNotAllowedError(
136
- headers=dict(_response.headers),
137
- body=typing.cast(
138
- typing.Optional[typing.Any],
139
- parse_obj_as(
140
- type_=typing.Optional[typing.Any], # type: ignore
141
- object_=_response.json(),
142
- ),
143
- ),
144
- )
145
- if _response.status_code == 429:
146
- raise TooManyRequestsError(
147
- headers=dict(_response.headers),
148
- body=typing.cast(
149
- typing.Optional[typing.Any],
150
- parse_obj_as(
151
- type_=typing.Optional[typing.Any], # type: ignore
152
- object_=_response.json(),
153
- ),
154
- ),
155
- )
156
- if _response.status_code == 500:
157
- raise InternalServerError(
158
- headers=dict(_response.headers),
159
- body=typing.cast(
160
- typing.Optional[typing.Any],
161
- parse_obj_as(
162
- type_=typing.Optional[typing.Any], # type: ignore
163
- object_=_response.json(),
164
- ),
165
- ),
166
- )
167
- if _response.status_code == 501:
168
- raise NotImplementedError(
169
- headers=dict(_response.headers),
170
- body=typing.cast(
171
- typing.Optional[typing.Any],
172
- parse_obj_as(
173
- type_=typing.Optional[typing.Any], # type: ignore
174
- object_=_response.json(),
175
- ),
176
- ),
177
- )
178
- if _response.status_code == 502:
179
- raise BadGatewayError(
180
- headers=dict(_response.headers),
181
- body=typing.cast(
182
- typing.Optional[typing.Any],
183
- parse_obj_as(
184
- type_=typing.Optional[typing.Any], # type: ignore
185
- object_=_response.json(),
186
- ),
187
- ),
188
- )
189
- if _response.status_code == 503:
190
- raise ServiceUnavailableError(
191
- headers=dict(_response.headers),
192
- body=typing.cast(
193
- typing.Optional[typing.Any],
194
- parse_obj_as(
195
- type_=typing.Optional[typing.Any], # type: ignore
196
- object_=_response.json(),
197
- ),
198
- ),
199
- )
200
- if _response.status_code == 504:
201
- raise GatewayTimeoutError(
202
- headers=dict(_response.headers),
203
- body=typing.cast(
204
- typing.Optional[typing.Any],
205
- parse_obj_as(
206
- type_=typing.Optional[typing.Any], # type: ignore
207
- object_=_response.json(),
208
- ),
209
- ),
210
- )
211
- _response_json = _response.json()
212
- except JSONDecodeError:
213
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
214
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
215
-
216
- def create(
217
- self,
218
- *,
219
- asset_id: str,
220
- assigned_user_id: typing.Optional[str] = OMIT,
221
- category: typing.Optional[WorkOrdersPostWorkOrdersRequestBodyCategory] = OMIT,
222
- created_by_user_id: typing.Optional[str] = OMIT,
223
- description: typing.Optional[str] = OMIT,
224
- discount: typing.Optional[WorkOrderDiscountObjectRequestBody] = OMIT,
225
- due_at_time: typing.Optional[dt.datetime] = OMIT,
226
- engine_hours: typing.Optional[int] = OMIT,
227
- items: typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]] = OMIT,
228
- odometer_meters: typing.Optional[int] = OMIT,
229
- priority: typing.Optional[WorkOrdersPostWorkOrdersRequestBodyPriority] = OMIT,
230
- service_task_instances: typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]] = OMIT,
231
- tax: typing.Optional[WorkOrderTaxObjectRequestBody] = OMIT,
232
- request_options: typing.Optional[RequestOptions] = None,
233
- ) -> HttpResponse[WorkOrdersPostWorkOrdersResponseBody]:
234
- """
235
- Creates a work order.
236
-
237
- <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
238
-
239
- To use this endpoint, select **Write Work Orders** under the Closed Beta 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>
240
-
241
-
242
- **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.
243
-
244
- Parameters
245
- ----------
246
- asset_id : str
247
- The ID of the asset.
248
-
249
- assigned_user_id : typing.Optional[str]
250
- The ID of the assigned mechanic.
251
-
252
- category : typing.Optional[WorkOrdersPostWorkOrdersRequestBodyCategory]
253
- The category of the work order Valid values: `Annual`, `Corrective`, `Damage Repair`, `Preventive`, `Recall`, `Unspecified`
254
-
255
- created_by_user_id : typing.Optional[str]
256
- The ID of the creator of the work order.
257
-
258
- description : typing.Optional[str]
259
- A description of what needs to be fixed.
260
-
261
- discount : typing.Optional[WorkOrderDiscountObjectRequestBody]
262
-
263
- due_at_time : typing.Optional[dt.datetime]
264
- The due date of the work order in RFC 3339 format.
265
-
266
- engine_hours : typing.Optional[int]
267
- The engine hours at the time of the work order. Will default to current asset reading if unset.
268
-
269
- items : typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]]
270
- Items related to the work order.
271
-
272
- odometer_meters : typing.Optional[int]
273
- The odometer reading at the time of the work order. Will default to current asset reading if unset.
274
-
275
- priority : typing.Optional[WorkOrdersPostWorkOrdersRequestBodyPriority]
276
- The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent`
277
-
278
- service_task_instances : typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]]
279
- Service Tasks for the work order.
280
-
281
- tax : typing.Optional[WorkOrderTaxObjectRequestBody]
282
-
283
- request_options : typing.Optional[RequestOptions]
284
- Request-specific configuration.
285
-
286
- Returns
287
- -------
288
- HttpResponse[WorkOrdersPostWorkOrdersResponseBody]
289
- OK response.
290
- """
291
- _response = self._client_wrapper.httpx_client.request(
292
- "maintenance/work-orders",
293
- method="POST",
294
- json={
295
- "assetId": asset_id,
296
- "assignedUserId": assigned_user_id,
297
- "category": category,
298
- "createdByUserId": created_by_user_id,
299
- "description": description,
300
- "discount": convert_and_respect_annotation_metadata(
301
- object_=discount, annotation=WorkOrderDiscountObjectRequestBody, direction="write"
302
- ),
303
- "dueAtTime": due_at_time,
304
- "engineHours": engine_hours,
305
- "items": convert_and_respect_annotation_metadata(
306
- object_=items, annotation=typing.Sequence[WorkOrderItemObjectRequestBody], direction="write"
307
- ),
308
- "odometerMeters": odometer_meters,
309
- "priority": priority,
310
- "serviceTaskInstances": convert_and_respect_annotation_metadata(
311
- object_=service_task_instances,
312
- annotation=typing.Sequence[ServiceTaskInstanceInputObjectRequestBody],
313
- direction="write",
314
- ),
315
- "tax": convert_and_respect_annotation_metadata(
316
- object_=tax, annotation=WorkOrderTaxObjectRequestBody, direction="write"
317
- ),
318
- },
319
- headers={
320
- "content-type": "application/json",
321
- },
322
- request_options=request_options,
323
- omit=OMIT,
324
- )
325
- try:
326
- if 200 <= _response.status_code < 300:
327
- _data = typing.cast(
328
- WorkOrdersPostWorkOrdersResponseBody,
329
- parse_obj_as(
330
- type_=WorkOrdersPostWorkOrdersResponseBody, # type: ignore
331
- object_=_response.json(),
332
- ),
333
- )
334
- return HttpResponse(response=_response, data=_data)
335
- if _response.status_code == 401:
336
- raise UnauthorizedError(
337
- headers=dict(_response.headers),
338
- body=typing.cast(
339
- typing.Optional[typing.Any],
340
- parse_obj_as(
341
- type_=typing.Optional[typing.Any], # type: ignore
342
- object_=_response.json(),
343
- ),
344
- ),
345
- )
346
- if _response.status_code == 404:
347
- raise NotFoundError(
348
- headers=dict(_response.headers),
349
- body=typing.cast(
350
- typing.Optional[typing.Any],
351
- parse_obj_as(
352
- type_=typing.Optional[typing.Any], # type: ignore
353
- object_=_response.json(),
354
- ),
355
- ),
356
- )
357
- if _response.status_code == 405:
358
- raise MethodNotAllowedError(
359
- headers=dict(_response.headers),
360
- body=typing.cast(
361
- typing.Optional[typing.Any],
362
- parse_obj_as(
363
- type_=typing.Optional[typing.Any], # type: ignore
364
- object_=_response.json(),
365
- ),
366
- ),
367
- )
368
- if _response.status_code == 429:
369
- raise TooManyRequestsError(
370
- headers=dict(_response.headers),
371
- body=typing.cast(
372
- typing.Optional[typing.Any],
373
- parse_obj_as(
374
- type_=typing.Optional[typing.Any], # type: ignore
375
- object_=_response.json(),
376
- ),
377
- ),
378
- )
379
- if _response.status_code == 500:
380
- raise InternalServerError(
381
- headers=dict(_response.headers),
382
- body=typing.cast(
383
- typing.Optional[typing.Any],
384
- parse_obj_as(
385
- type_=typing.Optional[typing.Any], # type: ignore
386
- object_=_response.json(),
387
- ),
388
- ),
389
- )
390
- if _response.status_code == 501:
391
- raise NotImplementedError(
392
- headers=dict(_response.headers),
393
- body=typing.cast(
394
- typing.Optional[typing.Any],
395
- parse_obj_as(
396
- type_=typing.Optional[typing.Any], # type: ignore
397
- object_=_response.json(),
398
- ),
399
- ),
400
- )
401
- if _response.status_code == 502:
402
- raise BadGatewayError(
403
- headers=dict(_response.headers),
404
- body=typing.cast(
405
- typing.Optional[typing.Any],
406
- parse_obj_as(
407
- type_=typing.Optional[typing.Any], # type: ignore
408
- object_=_response.json(),
409
- ),
410
- ),
411
- )
412
- if _response.status_code == 503:
413
- raise ServiceUnavailableError(
414
- headers=dict(_response.headers),
415
- body=typing.cast(
416
- typing.Optional[typing.Any],
417
- parse_obj_as(
418
- type_=typing.Optional[typing.Any], # type: ignore
419
- object_=_response.json(),
420
- ),
421
- ),
422
- )
423
- if _response.status_code == 504:
424
- raise GatewayTimeoutError(
425
- headers=dict(_response.headers),
426
- body=typing.cast(
427
- typing.Optional[typing.Any],
428
- parse_obj_as(
429
- type_=typing.Optional[typing.Any], # type: ignore
430
- object_=_response.json(),
431
- ),
432
- ),
433
- )
434
- _response_json = _response.json()
435
- except JSONDecodeError:
436
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
437
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
438
-
439
- def delete(self, *, id: str, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
440
- """
441
- Deletes a work order.
442
-
443
- <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
444
-
445
- To use this endpoint, select **Write Work Orders** under the Closed Beta 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>
446
-
447
-
448
- **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.
449
-
450
- Parameters
451
- ----------
452
- id : str
453
- The unique id of the work order.
454
-
455
- request_options : typing.Optional[RequestOptions]
456
- Request-specific configuration.
457
-
458
- Returns
459
- -------
460
- HttpResponse[None]
461
- """
462
- _response = self._client_wrapper.httpx_client.request(
463
- "maintenance/work-orders",
464
- method="DELETE",
465
- params={
466
- "id": id,
467
- },
468
- request_options=request_options,
469
- )
470
- try:
471
- if 200 <= _response.status_code < 300:
472
- return HttpResponse(response=_response, data=None)
473
- if _response.status_code == 401:
474
- raise UnauthorizedError(
475
- headers=dict(_response.headers),
476
- body=typing.cast(
477
- typing.Optional[typing.Any],
478
- parse_obj_as(
479
- type_=typing.Optional[typing.Any], # type: ignore
480
- object_=_response.json(),
481
- ),
482
- ),
483
- )
484
- if _response.status_code == 404:
485
- raise NotFoundError(
486
- headers=dict(_response.headers),
487
- body=typing.cast(
488
- typing.Optional[typing.Any],
489
- parse_obj_as(
490
- type_=typing.Optional[typing.Any], # type: ignore
491
- object_=_response.json(),
492
- ),
493
- ),
494
- )
495
- if _response.status_code == 405:
496
- raise MethodNotAllowedError(
497
- headers=dict(_response.headers),
498
- body=typing.cast(
499
- typing.Optional[typing.Any],
500
- parse_obj_as(
501
- type_=typing.Optional[typing.Any], # type: ignore
502
- object_=_response.json(),
503
- ),
504
- ),
505
- )
506
- if _response.status_code == 429:
507
- raise TooManyRequestsError(
508
- headers=dict(_response.headers),
509
- body=typing.cast(
510
- typing.Optional[typing.Any],
511
- parse_obj_as(
512
- type_=typing.Optional[typing.Any], # type: ignore
513
- object_=_response.json(),
514
- ),
515
- ),
516
- )
517
- if _response.status_code == 500:
518
- raise InternalServerError(
519
- headers=dict(_response.headers),
520
- body=typing.cast(
521
- typing.Optional[typing.Any],
522
- parse_obj_as(
523
- type_=typing.Optional[typing.Any], # type: ignore
524
- object_=_response.json(),
525
- ),
526
- ),
527
- )
528
- if _response.status_code == 501:
529
- raise NotImplementedError(
530
- headers=dict(_response.headers),
531
- body=typing.cast(
532
- typing.Optional[typing.Any],
533
- parse_obj_as(
534
- type_=typing.Optional[typing.Any], # type: ignore
535
- object_=_response.json(),
536
- ),
537
- ),
538
- )
539
- if _response.status_code == 502:
540
- raise BadGatewayError(
541
- headers=dict(_response.headers),
542
- body=typing.cast(
543
- typing.Optional[typing.Any],
544
- parse_obj_as(
545
- type_=typing.Optional[typing.Any], # type: ignore
546
- object_=_response.json(),
547
- ),
548
- ),
549
- )
550
- if _response.status_code == 503:
551
- raise ServiceUnavailableError(
552
- headers=dict(_response.headers),
553
- body=typing.cast(
554
- typing.Optional[typing.Any],
555
- parse_obj_as(
556
- type_=typing.Optional[typing.Any], # type: ignore
557
- object_=_response.json(),
558
- ),
559
- ),
560
- )
561
- if _response.status_code == 504:
562
- raise GatewayTimeoutError(
563
- headers=dict(_response.headers),
564
- body=typing.cast(
565
- typing.Optional[typing.Any],
566
- parse_obj_as(
567
- type_=typing.Optional[typing.Any], # type: ignore
568
- object_=_response.json(),
569
- ),
570
- ),
571
- )
572
- _response_json = _response.json()
573
- except JSONDecodeError:
574
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
575
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
576
-
577
- def update(
578
- self,
579
- *,
580
- id: str,
581
- assigned_user_id: typing.Optional[str] = OMIT,
582
- category: typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyCategory] = OMIT,
583
- closing_notes: typing.Optional[str] = OMIT,
584
- completed_at_time: typing.Optional[dt.datetime] = OMIT,
585
- description: typing.Optional[str] = OMIT,
586
- discount: typing.Optional[WorkOrderDiscountObjectRequestBody] = OMIT,
587
- due_at_time: typing.Optional[dt.datetime] = OMIT,
588
- engine_hours: typing.Optional[int] = OMIT,
589
- items: typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]] = OMIT,
590
- odometer_meters: typing.Optional[int] = OMIT,
591
- priority: typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyPriority] = OMIT,
592
- service_task_instances: typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]] = OMIT,
593
- status: typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyStatus] = OMIT,
594
- tax: typing.Optional[WorkOrderTaxObjectRequestBody] = OMIT,
595
- request_options: typing.Optional[RequestOptions] = None,
596
- ) -> HttpResponse[WorkOrdersPatchWorkOrdersResponseBody]:
597
- """
598
- Updates a work order.
599
-
600
- <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
601
-
602
- To use this endpoint, select **Write Work Orders** under the Closed Beta 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>
603
-
604
-
605
- **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.
606
-
607
- Parameters
608
- ----------
609
- id : str
610
- The unique id of the work order.
611
-
612
- assigned_user_id : typing.Optional[str]
613
- The ID of the assigned mechanic.
614
-
615
- category : typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyCategory]
616
- The category of the work order Valid values: `Annual`, `Corrective`, `Damage Repair`, `Preventive`, `Recall`, `Unspecified`
617
-
618
- closing_notes : typing.Optional[str]
619
- Notes on the work order.
620
-
621
- completed_at_time : typing.Optional[dt.datetime]
622
- The time the work order was completed in RFC 3339 format. Is automatically set when the status changes and this field is not provided.
623
-
624
- description : typing.Optional[str]
625
- A description of what needs to be fixed.
626
-
627
- discount : typing.Optional[WorkOrderDiscountObjectRequestBody]
628
-
629
- due_at_time : typing.Optional[dt.datetime]
630
- The due date of the work order in RFC 3339 format.
631
-
632
- engine_hours : typing.Optional[int]
633
- The engine hours at the time of the work order. Will default to current asset reading if unset.
634
-
635
- items : typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]]
636
- Items related to the work order.
637
-
638
- odometer_meters : typing.Optional[int]
639
- The odometer reading at the time of the work order. Will default to current asset reading if unset.
640
-
641
- priority : typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyPriority]
642
- The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent`
643
-
644
- service_task_instances : typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]]
645
- Service Tasks for the work order.
646
-
647
- status : typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyStatus]
648
- The status of the work order Valid values: `Assigned`, `Cancelled`, `Closed`, `Completed`, `In Progress`, `On Hold`, `Open`, `Pending Approval`, `Pending Parts`
649
-
650
- tax : typing.Optional[WorkOrderTaxObjectRequestBody]
651
-
652
- request_options : typing.Optional[RequestOptions]
653
- Request-specific configuration.
654
-
655
- Returns
656
- -------
657
- HttpResponse[WorkOrdersPatchWorkOrdersResponseBody]
658
- OK response.
659
- """
660
- _response = self._client_wrapper.httpx_client.request(
661
- "maintenance/work-orders",
662
- method="PATCH",
663
- json={
664
- "assignedUserId": assigned_user_id,
665
- "category": category,
666
- "closingNotes": closing_notes,
667
- "completedAtTime": completed_at_time,
668
- "description": description,
669
- "discount": convert_and_respect_annotation_metadata(
670
- object_=discount, annotation=WorkOrderDiscountObjectRequestBody, direction="write"
671
- ),
672
- "dueAtTime": due_at_time,
673
- "engineHours": engine_hours,
674
- "id": id,
675
- "items": convert_and_respect_annotation_metadata(
676
- object_=items, annotation=typing.Sequence[WorkOrderItemObjectRequestBody], direction="write"
677
- ),
678
- "odometerMeters": odometer_meters,
679
- "priority": priority,
680
- "serviceTaskInstances": convert_and_respect_annotation_metadata(
681
- object_=service_task_instances,
682
- annotation=typing.Sequence[ServiceTaskInstanceInputObjectRequestBody],
683
- direction="write",
684
- ),
685
- "status": status,
686
- "tax": convert_and_respect_annotation_metadata(
687
- object_=tax, annotation=WorkOrderTaxObjectRequestBody, direction="write"
688
- ),
689
- },
690
- headers={
691
- "content-type": "application/json",
692
- },
693
- request_options=request_options,
694
- omit=OMIT,
695
- )
696
- try:
697
- if 200 <= _response.status_code < 300:
698
- _data = typing.cast(
699
- WorkOrdersPatchWorkOrdersResponseBody,
700
- parse_obj_as(
701
- type_=WorkOrdersPatchWorkOrdersResponseBody, # type: ignore
702
- object_=_response.json(),
703
- ),
704
- )
705
- return HttpResponse(response=_response, data=_data)
706
- if _response.status_code == 401:
707
- raise UnauthorizedError(
708
- headers=dict(_response.headers),
709
- body=typing.cast(
710
- typing.Optional[typing.Any],
711
- parse_obj_as(
712
- type_=typing.Optional[typing.Any], # type: ignore
713
- object_=_response.json(),
714
- ),
715
- ),
716
- )
717
- if _response.status_code == 404:
718
- raise NotFoundError(
719
- headers=dict(_response.headers),
720
- body=typing.cast(
721
- typing.Optional[typing.Any],
722
- parse_obj_as(
723
- type_=typing.Optional[typing.Any], # type: ignore
724
- object_=_response.json(),
725
- ),
726
- ),
727
- )
728
- if _response.status_code == 405:
729
- raise MethodNotAllowedError(
730
- headers=dict(_response.headers),
731
- body=typing.cast(
732
- typing.Optional[typing.Any],
733
- parse_obj_as(
734
- type_=typing.Optional[typing.Any], # type: ignore
735
- object_=_response.json(),
736
- ),
737
- ),
738
- )
739
- if _response.status_code == 429:
740
- raise TooManyRequestsError(
741
- headers=dict(_response.headers),
742
- body=typing.cast(
743
- typing.Optional[typing.Any],
744
- parse_obj_as(
745
- type_=typing.Optional[typing.Any], # type: ignore
746
- object_=_response.json(),
747
- ),
748
- ),
749
- )
750
- if _response.status_code == 500:
751
- raise InternalServerError(
752
- headers=dict(_response.headers),
753
- body=typing.cast(
754
- typing.Optional[typing.Any],
755
- parse_obj_as(
756
- type_=typing.Optional[typing.Any], # type: ignore
757
- object_=_response.json(),
758
- ),
759
- ),
760
- )
761
- if _response.status_code == 501:
762
- raise NotImplementedError(
763
- headers=dict(_response.headers),
764
- body=typing.cast(
765
- typing.Optional[typing.Any],
766
- parse_obj_as(
767
- type_=typing.Optional[typing.Any], # type: ignore
768
- object_=_response.json(),
769
- ),
770
- ),
771
- )
772
- if _response.status_code == 502:
773
- raise BadGatewayError(
774
- headers=dict(_response.headers),
775
- body=typing.cast(
776
- typing.Optional[typing.Any],
777
- parse_obj_as(
778
- type_=typing.Optional[typing.Any], # type: ignore
779
- object_=_response.json(),
780
- ),
781
- ),
782
- )
783
- if _response.status_code == 503:
784
- raise ServiceUnavailableError(
785
- headers=dict(_response.headers),
786
- body=typing.cast(
787
- typing.Optional[typing.Any],
788
- parse_obj_as(
789
- type_=typing.Optional[typing.Any], # type: ignore
790
- object_=_response.json(),
791
- ),
792
- ),
793
- )
794
- if _response.status_code == 504:
795
- raise GatewayTimeoutError(
796
- headers=dict(_response.headers),
797
- body=typing.cast(
798
- typing.Optional[typing.Any],
799
- parse_obj_as(
800
- type_=typing.Optional[typing.Any], # type: ignore
801
- object_=_response.json(),
802
- ),
803
- ),
804
- )
805
- _response_json = _response.json()
806
- except JSONDecodeError:
807
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
808
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
809
-
810
- def stream(
811
- self,
812
- *,
813
- start_time: str,
814
- after: typing.Optional[str] = None,
815
- end_time: typing.Optional[str] = None,
816
- work_order_statuses: typing.Optional[
817
- typing.Union[
818
- WorkOrdersStreamRequestWorkOrderStatusesItem,
819
- typing.Sequence[WorkOrdersStreamRequestWorkOrderStatusesItem],
820
- ]
821
- ] = None,
822
- asset_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
823
- assigned_user_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
824
- request_options: typing.Optional[RequestOptions] = None,
825
- ) -> SyncPager[WorkOrderObjectResponseBody]:
826
- """
827
- Stream work orders.
828
-
829
- <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>).
830
-
831
- To use this endpoint, select **Read Work Orders** under the Closed Beta 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>
832
-
833
-
834
- **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.
835
-
836
- Parameters
837
- ----------
838
- start_time : str
839
- 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).
840
-
841
- after : typing.Optional[str]
842
- 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.
843
-
844
- end_time : typing.Optional[str]
845
- An end time in RFC 3339 format. Defaults to now if not provided. 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).
846
-
847
- work_order_statuses : typing.Optional[typing.Union[WorkOrdersStreamRequestWorkOrderStatusesItem, typing.Sequence[WorkOrdersStreamRequestWorkOrderStatusesItem]]]
848
- Work Order status filter.
849
-
850
- asset_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
851
- Work Order asset id filter. Up to 50 ids.
852
-
853
- assigned_user_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
854
- Work Order assigned user id filter. Up to 50 ids.
855
-
856
- request_options : typing.Optional[RequestOptions]
857
- Request-specific configuration.
858
-
859
- Returns
860
- -------
861
- SyncPager[WorkOrderObjectResponseBody]
862
- OK response.
863
- """
864
- _response = self._client_wrapper.httpx_client.request(
865
- "maintenance/work-orders/stream",
866
- method="GET",
867
- params={
868
- "after": after,
869
- "startTime": start_time,
870
- "endTime": end_time,
871
- "workOrderStatuses": work_order_statuses,
872
- "assetIds": asset_ids,
873
- "assignedUserIds": assigned_user_ids,
874
- },
875
- request_options=request_options,
876
- )
877
- try:
878
- if 200 <= _response.status_code < 300:
879
- _parsed_response = typing.cast(
880
- WorkOrdersStreamWorkOrdersResponseBody,
881
- parse_obj_as(
882
- type_=WorkOrdersStreamWorkOrdersResponseBody, # type: ignore
883
- object_=_response.json(),
884
- ),
885
- )
886
- _items = _parsed_response.data
887
- _has_next = False
888
- _get_next = None
889
- if _parsed_response.pagination is not None:
890
- _parsed_next = _parsed_response.pagination.end_cursor
891
- _has_next = _parsed_next is not None and _parsed_next != ""
892
- _get_next = lambda: self.stream(
893
- start_time=start_time,
894
- after=_parsed_next,
895
- end_time=end_time,
896
- work_order_statuses=work_order_statuses,
897
- asset_ids=asset_ids,
898
- assigned_user_ids=assigned_user_ids,
899
- request_options=request_options,
900
- )
901
- return SyncPager(
902
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
903
- )
904
- if _response.status_code == 401:
905
- raise UnauthorizedError(
906
- headers=dict(_response.headers),
907
- body=typing.cast(
908
- typing.Optional[typing.Any],
909
- parse_obj_as(
910
- type_=typing.Optional[typing.Any], # type: ignore
911
- object_=_response.json(),
912
- ),
913
- ),
914
- )
915
- if _response.status_code == 404:
916
- raise NotFoundError(
917
- headers=dict(_response.headers),
918
- body=typing.cast(
919
- typing.Optional[typing.Any],
920
- parse_obj_as(
921
- type_=typing.Optional[typing.Any], # type: ignore
922
- object_=_response.json(),
923
- ),
924
- ),
925
- )
926
- if _response.status_code == 405:
927
- raise MethodNotAllowedError(
928
- headers=dict(_response.headers),
929
- body=typing.cast(
930
- typing.Optional[typing.Any],
931
- parse_obj_as(
932
- type_=typing.Optional[typing.Any], # type: ignore
933
- object_=_response.json(),
934
- ),
935
- ),
936
- )
937
- if _response.status_code == 429:
938
- raise TooManyRequestsError(
939
- headers=dict(_response.headers),
940
- body=typing.cast(
941
- typing.Optional[typing.Any],
942
- parse_obj_as(
943
- type_=typing.Optional[typing.Any], # type: ignore
944
- object_=_response.json(),
945
- ),
946
- ),
947
- )
948
- if _response.status_code == 500:
949
- raise InternalServerError(
950
- headers=dict(_response.headers),
951
- body=typing.cast(
952
- typing.Optional[typing.Any],
953
- parse_obj_as(
954
- type_=typing.Optional[typing.Any], # type: ignore
955
- object_=_response.json(),
956
- ),
957
- ),
958
- )
959
- if _response.status_code == 501:
960
- raise NotImplementedError(
961
- headers=dict(_response.headers),
962
- body=typing.cast(
963
- typing.Optional[typing.Any],
964
- parse_obj_as(
965
- type_=typing.Optional[typing.Any], # type: ignore
966
- object_=_response.json(),
967
- ),
968
- ),
969
- )
970
- if _response.status_code == 502:
971
- raise BadGatewayError(
972
- headers=dict(_response.headers),
973
- body=typing.cast(
974
- typing.Optional[typing.Any],
975
- parse_obj_as(
976
- type_=typing.Optional[typing.Any], # type: ignore
977
- object_=_response.json(),
978
- ),
979
- ),
980
- )
981
- if _response.status_code == 503:
982
- raise ServiceUnavailableError(
983
- headers=dict(_response.headers),
984
- body=typing.cast(
985
- typing.Optional[typing.Any],
986
- parse_obj_as(
987
- type_=typing.Optional[typing.Any], # type: ignore
988
- object_=_response.json(),
989
- ),
990
- ),
991
- )
992
- if _response.status_code == 504:
993
- raise GatewayTimeoutError(
994
- headers=dict(_response.headers),
995
- body=typing.cast(
996
- typing.Optional[typing.Any],
997
- parse_obj_as(
998
- type_=typing.Optional[typing.Any], # type: ignore
999
- object_=_response.json(),
1000
- ),
1001
- ),
1002
- )
1003
- _response_json = _response.json()
1004
- except JSONDecodeError:
1005
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1006
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1007
-
1008
-
1009
- class AsyncRawWorkOrdersClient:
1010
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
1011
- self._client_wrapper = client_wrapper
1012
-
1013
- async def list(
1014
- self,
1015
- *,
1016
- ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
1017
- after: typing.Optional[str] = None,
1018
- request_options: typing.Optional[RequestOptions] = None,
1019
- ) -> AsyncPager[WorkOrderObjectResponseBody]:
1020
- """
1021
- Gets work orders.
1022
-
1023
- <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>).
1024
-
1025
- To use this endpoint, select **Read Work Orders** under the Closed Beta 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>
1026
-
1027
-
1028
- **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.
1029
-
1030
- Parameters
1031
- ----------
1032
- ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
1033
- Filter by the IDs. Up to 100 ids. Returns all if no ids are provided.
1034
-
1035
- after : typing.Optional[str]
1036
- 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.
1037
-
1038
- request_options : typing.Optional[RequestOptions]
1039
- Request-specific configuration.
1040
-
1041
- Returns
1042
- -------
1043
- AsyncPager[WorkOrderObjectResponseBody]
1044
- OK response.
1045
- """
1046
- _response = await self._client_wrapper.httpx_client.request(
1047
- "maintenance/work-orders",
1048
- method="GET",
1049
- params={
1050
- "ids": ids,
1051
- "after": after,
1052
- },
1053
- request_options=request_options,
1054
- )
1055
- try:
1056
- if 200 <= _response.status_code < 300:
1057
- _parsed_response = typing.cast(
1058
- WorkOrdersGetWorkOrdersResponseBody,
1059
- parse_obj_as(
1060
- type_=WorkOrdersGetWorkOrdersResponseBody, # type: ignore
1061
- object_=_response.json(),
1062
- ),
1063
- )
1064
- _items = _parsed_response.data
1065
- _has_next = False
1066
- _get_next = None
1067
- if _parsed_response.pagination is not None:
1068
- _parsed_next = _parsed_response.pagination.end_cursor
1069
- _has_next = _parsed_next is not None and _parsed_next != ""
1070
-
1071
- async def _get_next():
1072
- return await self.list(
1073
- ids=ids,
1074
- after=_parsed_next,
1075
- request_options=request_options,
1076
- )
1077
-
1078
- return AsyncPager(
1079
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
1080
- )
1081
- if _response.status_code == 401:
1082
- raise UnauthorizedError(
1083
- headers=dict(_response.headers),
1084
- body=typing.cast(
1085
- typing.Optional[typing.Any],
1086
- parse_obj_as(
1087
- type_=typing.Optional[typing.Any], # type: ignore
1088
- object_=_response.json(),
1089
- ),
1090
- ),
1091
- )
1092
- if _response.status_code == 404:
1093
- raise NotFoundError(
1094
- headers=dict(_response.headers),
1095
- body=typing.cast(
1096
- typing.Optional[typing.Any],
1097
- parse_obj_as(
1098
- type_=typing.Optional[typing.Any], # type: ignore
1099
- object_=_response.json(),
1100
- ),
1101
- ),
1102
- )
1103
- if _response.status_code == 405:
1104
- raise MethodNotAllowedError(
1105
- headers=dict(_response.headers),
1106
- body=typing.cast(
1107
- typing.Optional[typing.Any],
1108
- parse_obj_as(
1109
- type_=typing.Optional[typing.Any], # type: ignore
1110
- object_=_response.json(),
1111
- ),
1112
- ),
1113
- )
1114
- if _response.status_code == 429:
1115
- raise TooManyRequestsError(
1116
- headers=dict(_response.headers),
1117
- body=typing.cast(
1118
- typing.Optional[typing.Any],
1119
- parse_obj_as(
1120
- type_=typing.Optional[typing.Any], # type: ignore
1121
- object_=_response.json(),
1122
- ),
1123
- ),
1124
- )
1125
- if _response.status_code == 500:
1126
- raise InternalServerError(
1127
- headers=dict(_response.headers),
1128
- body=typing.cast(
1129
- typing.Optional[typing.Any],
1130
- parse_obj_as(
1131
- type_=typing.Optional[typing.Any], # type: ignore
1132
- object_=_response.json(),
1133
- ),
1134
- ),
1135
- )
1136
- if _response.status_code == 501:
1137
- raise NotImplementedError(
1138
- headers=dict(_response.headers),
1139
- body=typing.cast(
1140
- typing.Optional[typing.Any],
1141
- parse_obj_as(
1142
- type_=typing.Optional[typing.Any], # type: ignore
1143
- object_=_response.json(),
1144
- ),
1145
- ),
1146
- )
1147
- if _response.status_code == 502:
1148
- raise BadGatewayError(
1149
- headers=dict(_response.headers),
1150
- body=typing.cast(
1151
- typing.Optional[typing.Any],
1152
- parse_obj_as(
1153
- type_=typing.Optional[typing.Any], # type: ignore
1154
- object_=_response.json(),
1155
- ),
1156
- ),
1157
- )
1158
- if _response.status_code == 503:
1159
- raise ServiceUnavailableError(
1160
- headers=dict(_response.headers),
1161
- body=typing.cast(
1162
- typing.Optional[typing.Any],
1163
- parse_obj_as(
1164
- type_=typing.Optional[typing.Any], # type: ignore
1165
- object_=_response.json(),
1166
- ),
1167
- ),
1168
- )
1169
- if _response.status_code == 504:
1170
- raise GatewayTimeoutError(
1171
- headers=dict(_response.headers),
1172
- body=typing.cast(
1173
- typing.Optional[typing.Any],
1174
- parse_obj_as(
1175
- type_=typing.Optional[typing.Any], # type: ignore
1176
- object_=_response.json(),
1177
- ),
1178
- ),
1179
- )
1180
- _response_json = _response.json()
1181
- except JSONDecodeError:
1182
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1183
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1184
-
1185
- async def create(
1186
- self,
1187
- *,
1188
- asset_id: str,
1189
- assigned_user_id: typing.Optional[str] = OMIT,
1190
- category: typing.Optional[WorkOrdersPostWorkOrdersRequestBodyCategory] = OMIT,
1191
- created_by_user_id: typing.Optional[str] = OMIT,
1192
- description: typing.Optional[str] = OMIT,
1193
- discount: typing.Optional[WorkOrderDiscountObjectRequestBody] = OMIT,
1194
- due_at_time: typing.Optional[dt.datetime] = OMIT,
1195
- engine_hours: typing.Optional[int] = OMIT,
1196
- items: typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]] = OMIT,
1197
- odometer_meters: typing.Optional[int] = OMIT,
1198
- priority: typing.Optional[WorkOrdersPostWorkOrdersRequestBodyPriority] = OMIT,
1199
- service_task_instances: typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]] = OMIT,
1200
- tax: typing.Optional[WorkOrderTaxObjectRequestBody] = OMIT,
1201
- request_options: typing.Optional[RequestOptions] = None,
1202
- ) -> AsyncHttpResponse[WorkOrdersPostWorkOrdersResponseBody]:
1203
- """
1204
- Creates a work order.
1205
-
1206
- <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
1207
-
1208
- To use this endpoint, select **Write Work Orders** under the Closed Beta 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>
1209
-
1210
-
1211
- **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.
1212
-
1213
- Parameters
1214
- ----------
1215
- asset_id : str
1216
- The ID of the asset.
1217
-
1218
- assigned_user_id : typing.Optional[str]
1219
- The ID of the assigned mechanic.
1220
-
1221
- category : typing.Optional[WorkOrdersPostWorkOrdersRequestBodyCategory]
1222
- The category of the work order Valid values: `Annual`, `Corrective`, `Damage Repair`, `Preventive`, `Recall`, `Unspecified`
1223
-
1224
- created_by_user_id : typing.Optional[str]
1225
- The ID of the creator of the work order.
1226
-
1227
- description : typing.Optional[str]
1228
- A description of what needs to be fixed.
1229
-
1230
- discount : typing.Optional[WorkOrderDiscountObjectRequestBody]
1231
-
1232
- due_at_time : typing.Optional[dt.datetime]
1233
- The due date of the work order in RFC 3339 format.
1234
-
1235
- engine_hours : typing.Optional[int]
1236
- The engine hours at the time of the work order. Will default to current asset reading if unset.
1237
-
1238
- items : typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]]
1239
- Items related to the work order.
1240
-
1241
- odometer_meters : typing.Optional[int]
1242
- The odometer reading at the time of the work order. Will default to current asset reading if unset.
1243
-
1244
- priority : typing.Optional[WorkOrdersPostWorkOrdersRequestBodyPriority]
1245
- The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent`
1246
-
1247
- service_task_instances : typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]]
1248
- Service Tasks for the work order.
1249
-
1250
- tax : typing.Optional[WorkOrderTaxObjectRequestBody]
1251
-
1252
- request_options : typing.Optional[RequestOptions]
1253
- Request-specific configuration.
1254
-
1255
- Returns
1256
- -------
1257
- AsyncHttpResponse[WorkOrdersPostWorkOrdersResponseBody]
1258
- OK response.
1259
- """
1260
- _response = await self._client_wrapper.httpx_client.request(
1261
- "maintenance/work-orders",
1262
- method="POST",
1263
- json={
1264
- "assetId": asset_id,
1265
- "assignedUserId": assigned_user_id,
1266
- "category": category,
1267
- "createdByUserId": created_by_user_id,
1268
- "description": description,
1269
- "discount": convert_and_respect_annotation_metadata(
1270
- object_=discount, annotation=WorkOrderDiscountObjectRequestBody, direction="write"
1271
- ),
1272
- "dueAtTime": due_at_time,
1273
- "engineHours": engine_hours,
1274
- "items": convert_and_respect_annotation_metadata(
1275
- object_=items, annotation=typing.Sequence[WorkOrderItemObjectRequestBody], direction="write"
1276
- ),
1277
- "odometerMeters": odometer_meters,
1278
- "priority": priority,
1279
- "serviceTaskInstances": convert_and_respect_annotation_metadata(
1280
- object_=service_task_instances,
1281
- annotation=typing.Sequence[ServiceTaskInstanceInputObjectRequestBody],
1282
- direction="write",
1283
- ),
1284
- "tax": convert_and_respect_annotation_metadata(
1285
- object_=tax, annotation=WorkOrderTaxObjectRequestBody, direction="write"
1286
- ),
1287
- },
1288
- headers={
1289
- "content-type": "application/json",
1290
- },
1291
- request_options=request_options,
1292
- omit=OMIT,
1293
- )
1294
- try:
1295
- if 200 <= _response.status_code < 300:
1296
- _data = typing.cast(
1297
- WorkOrdersPostWorkOrdersResponseBody,
1298
- parse_obj_as(
1299
- type_=WorkOrdersPostWorkOrdersResponseBody, # type: ignore
1300
- object_=_response.json(),
1301
- ),
1302
- )
1303
- return AsyncHttpResponse(response=_response, data=_data)
1304
- if _response.status_code == 401:
1305
- raise UnauthorizedError(
1306
- headers=dict(_response.headers),
1307
- body=typing.cast(
1308
- typing.Optional[typing.Any],
1309
- parse_obj_as(
1310
- type_=typing.Optional[typing.Any], # type: ignore
1311
- object_=_response.json(),
1312
- ),
1313
- ),
1314
- )
1315
- if _response.status_code == 404:
1316
- raise NotFoundError(
1317
- headers=dict(_response.headers),
1318
- body=typing.cast(
1319
- typing.Optional[typing.Any],
1320
- parse_obj_as(
1321
- type_=typing.Optional[typing.Any], # type: ignore
1322
- object_=_response.json(),
1323
- ),
1324
- ),
1325
- )
1326
- if _response.status_code == 405:
1327
- raise MethodNotAllowedError(
1328
- headers=dict(_response.headers),
1329
- body=typing.cast(
1330
- typing.Optional[typing.Any],
1331
- parse_obj_as(
1332
- type_=typing.Optional[typing.Any], # type: ignore
1333
- object_=_response.json(),
1334
- ),
1335
- ),
1336
- )
1337
- if _response.status_code == 429:
1338
- raise TooManyRequestsError(
1339
- headers=dict(_response.headers),
1340
- body=typing.cast(
1341
- typing.Optional[typing.Any],
1342
- parse_obj_as(
1343
- type_=typing.Optional[typing.Any], # type: ignore
1344
- object_=_response.json(),
1345
- ),
1346
- ),
1347
- )
1348
- if _response.status_code == 500:
1349
- raise InternalServerError(
1350
- headers=dict(_response.headers),
1351
- body=typing.cast(
1352
- typing.Optional[typing.Any],
1353
- parse_obj_as(
1354
- type_=typing.Optional[typing.Any], # type: ignore
1355
- object_=_response.json(),
1356
- ),
1357
- ),
1358
- )
1359
- if _response.status_code == 501:
1360
- raise NotImplementedError(
1361
- headers=dict(_response.headers),
1362
- body=typing.cast(
1363
- typing.Optional[typing.Any],
1364
- parse_obj_as(
1365
- type_=typing.Optional[typing.Any], # type: ignore
1366
- object_=_response.json(),
1367
- ),
1368
- ),
1369
- )
1370
- if _response.status_code == 502:
1371
- raise BadGatewayError(
1372
- headers=dict(_response.headers),
1373
- body=typing.cast(
1374
- typing.Optional[typing.Any],
1375
- parse_obj_as(
1376
- type_=typing.Optional[typing.Any], # type: ignore
1377
- object_=_response.json(),
1378
- ),
1379
- ),
1380
- )
1381
- if _response.status_code == 503:
1382
- raise ServiceUnavailableError(
1383
- headers=dict(_response.headers),
1384
- body=typing.cast(
1385
- typing.Optional[typing.Any],
1386
- parse_obj_as(
1387
- type_=typing.Optional[typing.Any], # type: ignore
1388
- object_=_response.json(),
1389
- ),
1390
- ),
1391
- )
1392
- if _response.status_code == 504:
1393
- raise GatewayTimeoutError(
1394
- headers=dict(_response.headers),
1395
- body=typing.cast(
1396
- typing.Optional[typing.Any],
1397
- parse_obj_as(
1398
- type_=typing.Optional[typing.Any], # type: ignore
1399
- object_=_response.json(),
1400
- ),
1401
- ),
1402
- )
1403
- _response_json = _response.json()
1404
- except JSONDecodeError:
1405
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1406
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1407
-
1408
- async def delete(
1409
- self, *, id: str, request_options: typing.Optional[RequestOptions] = None
1410
- ) -> AsyncHttpResponse[None]:
1411
- """
1412
- Deletes a work order.
1413
-
1414
- <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
1415
-
1416
- To use this endpoint, select **Write Work Orders** under the Closed Beta 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>
1417
-
1418
-
1419
- **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.
1420
-
1421
- Parameters
1422
- ----------
1423
- id : str
1424
- The unique id of the work order.
1425
-
1426
- request_options : typing.Optional[RequestOptions]
1427
- Request-specific configuration.
1428
-
1429
- Returns
1430
- -------
1431
- AsyncHttpResponse[None]
1432
- """
1433
- _response = await self._client_wrapper.httpx_client.request(
1434
- "maintenance/work-orders",
1435
- method="DELETE",
1436
- params={
1437
- "id": id,
1438
- },
1439
- request_options=request_options,
1440
- )
1441
- try:
1442
- if 200 <= _response.status_code < 300:
1443
- return AsyncHttpResponse(response=_response, data=None)
1444
- if _response.status_code == 401:
1445
- raise UnauthorizedError(
1446
- headers=dict(_response.headers),
1447
- body=typing.cast(
1448
- typing.Optional[typing.Any],
1449
- parse_obj_as(
1450
- type_=typing.Optional[typing.Any], # type: ignore
1451
- object_=_response.json(),
1452
- ),
1453
- ),
1454
- )
1455
- if _response.status_code == 404:
1456
- raise NotFoundError(
1457
- headers=dict(_response.headers),
1458
- body=typing.cast(
1459
- typing.Optional[typing.Any],
1460
- parse_obj_as(
1461
- type_=typing.Optional[typing.Any], # type: ignore
1462
- object_=_response.json(),
1463
- ),
1464
- ),
1465
- )
1466
- if _response.status_code == 405:
1467
- raise MethodNotAllowedError(
1468
- headers=dict(_response.headers),
1469
- body=typing.cast(
1470
- typing.Optional[typing.Any],
1471
- parse_obj_as(
1472
- type_=typing.Optional[typing.Any], # type: ignore
1473
- object_=_response.json(),
1474
- ),
1475
- ),
1476
- )
1477
- if _response.status_code == 429:
1478
- raise TooManyRequestsError(
1479
- headers=dict(_response.headers),
1480
- body=typing.cast(
1481
- typing.Optional[typing.Any],
1482
- parse_obj_as(
1483
- type_=typing.Optional[typing.Any], # type: ignore
1484
- object_=_response.json(),
1485
- ),
1486
- ),
1487
- )
1488
- if _response.status_code == 500:
1489
- raise InternalServerError(
1490
- headers=dict(_response.headers),
1491
- body=typing.cast(
1492
- typing.Optional[typing.Any],
1493
- parse_obj_as(
1494
- type_=typing.Optional[typing.Any], # type: ignore
1495
- object_=_response.json(),
1496
- ),
1497
- ),
1498
- )
1499
- if _response.status_code == 501:
1500
- raise NotImplementedError(
1501
- headers=dict(_response.headers),
1502
- body=typing.cast(
1503
- typing.Optional[typing.Any],
1504
- parse_obj_as(
1505
- type_=typing.Optional[typing.Any], # type: ignore
1506
- object_=_response.json(),
1507
- ),
1508
- ),
1509
- )
1510
- if _response.status_code == 502:
1511
- raise BadGatewayError(
1512
- headers=dict(_response.headers),
1513
- body=typing.cast(
1514
- typing.Optional[typing.Any],
1515
- parse_obj_as(
1516
- type_=typing.Optional[typing.Any], # type: ignore
1517
- object_=_response.json(),
1518
- ),
1519
- ),
1520
- )
1521
- if _response.status_code == 503:
1522
- raise ServiceUnavailableError(
1523
- headers=dict(_response.headers),
1524
- body=typing.cast(
1525
- typing.Optional[typing.Any],
1526
- parse_obj_as(
1527
- type_=typing.Optional[typing.Any], # type: ignore
1528
- object_=_response.json(),
1529
- ),
1530
- ),
1531
- )
1532
- if _response.status_code == 504:
1533
- raise GatewayTimeoutError(
1534
- headers=dict(_response.headers),
1535
- body=typing.cast(
1536
- typing.Optional[typing.Any],
1537
- parse_obj_as(
1538
- type_=typing.Optional[typing.Any], # type: ignore
1539
- object_=_response.json(),
1540
- ),
1541
- ),
1542
- )
1543
- _response_json = _response.json()
1544
- except JSONDecodeError:
1545
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1546
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1547
-
1548
- async def update(
1549
- self,
1550
- *,
1551
- id: str,
1552
- assigned_user_id: typing.Optional[str] = OMIT,
1553
- category: typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyCategory] = OMIT,
1554
- closing_notes: typing.Optional[str] = OMIT,
1555
- completed_at_time: typing.Optional[dt.datetime] = OMIT,
1556
- description: typing.Optional[str] = OMIT,
1557
- discount: typing.Optional[WorkOrderDiscountObjectRequestBody] = OMIT,
1558
- due_at_time: typing.Optional[dt.datetime] = OMIT,
1559
- engine_hours: typing.Optional[int] = OMIT,
1560
- items: typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]] = OMIT,
1561
- odometer_meters: typing.Optional[int] = OMIT,
1562
- priority: typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyPriority] = OMIT,
1563
- service_task_instances: typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]] = OMIT,
1564
- status: typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyStatus] = OMIT,
1565
- tax: typing.Optional[WorkOrderTaxObjectRequestBody] = OMIT,
1566
- request_options: typing.Optional[RequestOptions] = None,
1567
- ) -> AsyncHttpResponse[WorkOrdersPatchWorkOrdersResponseBody]:
1568
- """
1569
- Updates a work order.
1570
-
1571
- <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
1572
-
1573
- To use this endpoint, select **Write Work Orders** under the Closed Beta 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>
1574
-
1575
-
1576
- **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.
1577
-
1578
- Parameters
1579
- ----------
1580
- id : str
1581
- The unique id of the work order.
1582
-
1583
- assigned_user_id : typing.Optional[str]
1584
- The ID of the assigned mechanic.
1585
-
1586
- category : typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyCategory]
1587
- The category of the work order Valid values: `Annual`, `Corrective`, `Damage Repair`, `Preventive`, `Recall`, `Unspecified`
1588
-
1589
- closing_notes : typing.Optional[str]
1590
- Notes on the work order.
1591
-
1592
- completed_at_time : typing.Optional[dt.datetime]
1593
- The time the work order was completed in RFC 3339 format. Is automatically set when the status changes and this field is not provided.
1594
-
1595
- description : typing.Optional[str]
1596
- A description of what needs to be fixed.
1597
-
1598
- discount : typing.Optional[WorkOrderDiscountObjectRequestBody]
1599
-
1600
- due_at_time : typing.Optional[dt.datetime]
1601
- The due date of the work order in RFC 3339 format.
1602
-
1603
- engine_hours : typing.Optional[int]
1604
- The engine hours at the time of the work order. Will default to current asset reading if unset.
1605
-
1606
- items : typing.Optional[typing.Sequence[WorkOrderItemObjectRequestBody]]
1607
- Items related to the work order.
1608
-
1609
- odometer_meters : typing.Optional[int]
1610
- The odometer reading at the time of the work order. Will default to current asset reading if unset.
1611
-
1612
- priority : typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyPriority]
1613
- The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent`
1614
-
1615
- service_task_instances : typing.Optional[typing.Sequence[ServiceTaskInstanceInputObjectRequestBody]]
1616
- Service Tasks for the work order.
1617
-
1618
- status : typing.Optional[WorkOrdersPatchWorkOrdersRequestBodyStatus]
1619
- The status of the work order Valid values: `Assigned`, `Cancelled`, `Closed`, `Completed`, `In Progress`, `On Hold`, `Open`, `Pending Approval`, `Pending Parts`
1620
-
1621
- tax : typing.Optional[WorkOrderTaxObjectRequestBody]
1622
-
1623
- request_options : typing.Optional[RequestOptions]
1624
- Request-specific configuration.
1625
-
1626
- Returns
1627
- -------
1628
- AsyncHttpResponse[WorkOrdersPatchWorkOrdersResponseBody]
1629
- OK response.
1630
- """
1631
- _response = await self._client_wrapper.httpx_client.request(
1632
- "maintenance/work-orders",
1633
- method="PATCH",
1634
- json={
1635
- "assignedUserId": assigned_user_id,
1636
- "category": category,
1637
- "closingNotes": closing_notes,
1638
- "completedAtTime": completed_at_time,
1639
- "description": description,
1640
- "discount": convert_and_respect_annotation_metadata(
1641
- object_=discount, annotation=WorkOrderDiscountObjectRequestBody, direction="write"
1642
- ),
1643
- "dueAtTime": due_at_time,
1644
- "engineHours": engine_hours,
1645
- "id": id,
1646
- "items": convert_and_respect_annotation_metadata(
1647
- object_=items, annotation=typing.Sequence[WorkOrderItemObjectRequestBody], direction="write"
1648
- ),
1649
- "odometerMeters": odometer_meters,
1650
- "priority": priority,
1651
- "serviceTaskInstances": convert_and_respect_annotation_metadata(
1652
- object_=service_task_instances,
1653
- annotation=typing.Sequence[ServiceTaskInstanceInputObjectRequestBody],
1654
- direction="write",
1655
- ),
1656
- "status": status,
1657
- "tax": convert_and_respect_annotation_metadata(
1658
- object_=tax, annotation=WorkOrderTaxObjectRequestBody, direction="write"
1659
- ),
1660
- },
1661
- headers={
1662
- "content-type": "application/json",
1663
- },
1664
- request_options=request_options,
1665
- omit=OMIT,
1666
- )
1667
- try:
1668
- if 200 <= _response.status_code < 300:
1669
- _data = typing.cast(
1670
- WorkOrdersPatchWorkOrdersResponseBody,
1671
- parse_obj_as(
1672
- type_=WorkOrdersPatchWorkOrdersResponseBody, # type: ignore
1673
- object_=_response.json(),
1674
- ),
1675
- )
1676
- return AsyncHttpResponse(response=_response, data=_data)
1677
- if _response.status_code == 401:
1678
- raise UnauthorizedError(
1679
- headers=dict(_response.headers),
1680
- body=typing.cast(
1681
- typing.Optional[typing.Any],
1682
- parse_obj_as(
1683
- type_=typing.Optional[typing.Any], # type: ignore
1684
- object_=_response.json(),
1685
- ),
1686
- ),
1687
- )
1688
- if _response.status_code == 404:
1689
- raise NotFoundError(
1690
- headers=dict(_response.headers),
1691
- body=typing.cast(
1692
- typing.Optional[typing.Any],
1693
- parse_obj_as(
1694
- type_=typing.Optional[typing.Any], # type: ignore
1695
- object_=_response.json(),
1696
- ),
1697
- ),
1698
- )
1699
- if _response.status_code == 405:
1700
- raise MethodNotAllowedError(
1701
- headers=dict(_response.headers),
1702
- body=typing.cast(
1703
- typing.Optional[typing.Any],
1704
- parse_obj_as(
1705
- type_=typing.Optional[typing.Any], # type: ignore
1706
- object_=_response.json(),
1707
- ),
1708
- ),
1709
- )
1710
- if _response.status_code == 429:
1711
- raise TooManyRequestsError(
1712
- headers=dict(_response.headers),
1713
- body=typing.cast(
1714
- typing.Optional[typing.Any],
1715
- parse_obj_as(
1716
- type_=typing.Optional[typing.Any], # type: ignore
1717
- object_=_response.json(),
1718
- ),
1719
- ),
1720
- )
1721
- if _response.status_code == 500:
1722
- raise InternalServerError(
1723
- headers=dict(_response.headers),
1724
- body=typing.cast(
1725
- typing.Optional[typing.Any],
1726
- parse_obj_as(
1727
- type_=typing.Optional[typing.Any], # type: ignore
1728
- object_=_response.json(),
1729
- ),
1730
- ),
1731
- )
1732
- if _response.status_code == 501:
1733
- raise NotImplementedError(
1734
- headers=dict(_response.headers),
1735
- body=typing.cast(
1736
- typing.Optional[typing.Any],
1737
- parse_obj_as(
1738
- type_=typing.Optional[typing.Any], # type: ignore
1739
- object_=_response.json(),
1740
- ),
1741
- ),
1742
- )
1743
- if _response.status_code == 502:
1744
- raise BadGatewayError(
1745
- headers=dict(_response.headers),
1746
- body=typing.cast(
1747
- typing.Optional[typing.Any],
1748
- parse_obj_as(
1749
- type_=typing.Optional[typing.Any], # type: ignore
1750
- object_=_response.json(),
1751
- ),
1752
- ),
1753
- )
1754
- if _response.status_code == 503:
1755
- raise ServiceUnavailableError(
1756
- headers=dict(_response.headers),
1757
- body=typing.cast(
1758
- typing.Optional[typing.Any],
1759
- parse_obj_as(
1760
- type_=typing.Optional[typing.Any], # type: ignore
1761
- object_=_response.json(),
1762
- ),
1763
- ),
1764
- )
1765
- if _response.status_code == 504:
1766
- raise GatewayTimeoutError(
1767
- headers=dict(_response.headers),
1768
- body=typing.cast(
1769
- typing.Optional[typing.Any],
1770
- parse_obj_as(
1771
- type_=typing.Optional[typing.Any], # type: ignore
1772
- object_=_response.json(),
1773
- ),
1774
- ),
1775
- )
1776
- _response_json = _response.json()
1777
- except JSONDecodeError:
1778
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1779
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1780
-
1781
- async def stream(
1782
- self,
1783
- *,
1784
- start_time: str,
1785
- after: typing.Optional[str] = None,
1786
- end_time: typing.Optional[str] = None,
1787
- work_order_statuses: typing.Optional[
1788
- typing.Union[
1789
- WorkOrdersStreamRequestWorkOrderStatusesItem,
1790
- typing.Sequence[WorkOrdersStreamRequestWorkOrderStatusesItem],
1791
- ]
1792
- ] = None,
1793
- asset_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
1794
- assigned_user_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
1795
- request_options: typing.Optional[RequestOptions] = None,
1796
- ) -> AsyncPager[WorkOrderObjectResponseBody]:
1797
- """
1798
- Stream work orders.
1799
-
1800
- <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>).
1801
-
1802
- To use this endpoint, select **Read Work Orders** under the Closed Beta 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>
1803
-
1804
-
1805
- **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.
1806
-
1807
- Parameters
1808
- ----------
1809
- start_time : str
1810
- 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).
1811
-
1812
- after : typing.Optional[str]
1813
- 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.
1814
-
1815
- end_time : typing.Optional[str]
1816
- An end time in RFC 3339 format. Defaults to now if not provided. 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).
1817
-
1818
- work_order_statuses : typing.Optional[typing.Union[WorkOrdersStreamRequestWorkOrderStatusesItem, typing.Sequence[WorkOrdersStreamRequestWorkOrderStatusesItem]]]
1819
- Work Order status filter.
1820
-
1821
- asset_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
1822
- Work Order asset id filter. Up to 50 ids.
1823
-
1824
- assigned_user_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
1825
- Work Order assigned user id filter. Up to 50 ids.
1826
-
1827
- request_options : typing.Optional[RequestOptions]
1828
- Request-specific configuration.
1829
-
1830
- Returns
1831
- -------
1832
- AsyncPager[WorkOrderObjectResponseBody]
1833
- OK response.
1834
- """
1835
- _response = await self._client_wrapper.httpx_client.request(
1836
- "maintenance/work-orders/stream",
1837
- method="GET",
1838
- params={
1839
- "after": after,
1840
- "startTime": start_time,
1841
- "endTime": end_time,
1842
- "workOrderStatuses": work_order_statuses,
1843
- "assetIds": asset_ids,
1844
- "assignedUserIds": assigned_user_ids,
1845
- },
1846
- request_options=request_options,
1847
- )
1848
- try:
1849
- if 200 <= _response.status_code < 300:
1850
- _parsed_response = typing.cast(
1851
- WorkOrdersStreamWorkOrdersResponseBody,
1852
- parse_obj_as(
1853
- type_=WorkOrdersStreamWorkOrdersResponseBody, # type: ignore
1854
- object_=_response.json(),
1855
- ),
1856
- )
1857
- _items = _parsed_response.data
1858
- _has_next = False
1859
- _get_next = None
1860
- if _parsed_response.pagination is not None:
1861
- _parsed_next = _parsed_response.pagination.end_cursor
1862
- _has_next = _parsed_next is not None and _parsed_next != ""
1863
-
1864
- async def _get_next():
1865
- return await self.stream(
1866
- start_time=start_time,
1867
- after=_parsed_next,
1868
- end_time=end_time,
1869
- work_order_statuses=work_order_statuses,
1870
- asset_ids=asset_ids,
1871
- assigned_user_ids=assigned_user_ids,
1872
- request_options=request_options,
1873
- )
1874
-
1875
- return AsyncPager(
1876
- has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
1877
- )
1878
- if _response.status_code == 401:
1879
- raise UnauthorizedError(
1880
- headers=dict(_response.headers),
1881
- body=typing.cast(
1882
- typing.Optional[typing.Any],
1883
- parse_obj_as(
1884
- type_=typing.Optional[typing.Any], # type: ignore
1885
- object_=_response.json(),
1886
- ),
1887
- ),
1888
- )
1889
- if _response.status_code == 404:
1890
- raise NotFoundError(
1891
- headers=dict(_response.headers),
1892
- body=typing.cast(
1893
- typing.Optional[typing.Any],
1894
- parse_obj_as(
1895
- type_=typing.Optional[typing.Any], # type: ignore
1896
- object_=_response.json(),
1897
- ),
1898
- ),
1899
- )
1900
- if _response.status_code == 405:
1901
- raise MethodNotAllowedError(
1902
- headers=dict(_response.headers),
1903
- body=typing.cast(
1904
- typing.Optional[typing.Any],
1905
- parse_obj_as(
1906
- type_=typing.Optional[typing.Any], # type: ignore
1907
- object_=_response.json(),
1908
- ),
1909
- ),
1910
- )
1911
- if _response.status_code == 429:
1912
- raise TooManyRequestsError(
1913
- headers=dict(_response.headers),
1914
- body=typing.cast(
1915
- typing.Optional[typing.Any],
1916
- parse_obj_as(
1917
- type_=typing.Optional[typing.Any], # type: ignore
1918
- object_=_response.json(),
1919
- ),
1920
- ),
1921
- )
1922
- if _response.status_code == 500:
1923
- raise InternalServerError(
1924
- headers=dict(_response.headers),
1925
- body=typing.cast(
1926
- typing.Optional[typing.Any],
1927
- parse_obj_as(
1928
- type_=typing.Optional[typing.Any], # type: ignore
1929
- object_=_response.json(),
1930
- ),
1931
- ),
1932
- )
1933
- if _response.status_code == 501:
1934
- raise NotImplementedError(
1935
- headers=dict(_response.headers),
1936
- body=typing.cast(
1937
- typing.Optional[typing.Any],
1938
- parse_obj_as(
1939
- type_=typing.Optional[typing.Any], # type: ignore
1940
- object_=_response.json(),
1941
- ),
1942
- ),
1943
- )
1944
- if _response.status_code == 502:
1945
- raise BadGatewayError(
1946
- headers=dict(_response.headers),
1947
- body=typing.cast(
1948
- typing.Optional[typing.Any],
1949
- parse_obj_as(
1950
- type_=typing.Optional[typing.Any], # type: ignore
1951
- object_=_response.json(),
1952
- ),
1953
- ),
1954
- )
1955
- if _response.status_code == 503:
1956
- raise ServiceUnavailableError(
1957
- headers=dict(_response.headers),
1958
- body=typing.cast(
1959
- typing.Optional[typing.Any],
1960
- parse_obj_as(
1961
- type_=typing.Optional[typing.Any], # type: ignore
1962
- object_=_response.json(),
1963
- ),
1964
- ),
1965
- )
1966
- if _response.status_code == 504:
1967
- raise GatewayTimeoutError(
1968
- headers=dict(_response.headers),
1969
- body=typing.cast(
1970
- typing.Optional[typing.Any],
1971
- parse_obj_as(
1972
- type_=typing.Optional[typing.Any], # type: ignore
1973
- object_=_response.json(),
1974
- ),
1975
- ),
1976
- )
1977
- _response_json = _response.json()
1978
- except JSONDecodeError:
1979
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1980
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)