samsara-api 0.0.1__py3-none-any.whl → 0.0.2__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 (343) hide show
  1. samsara/__init__.py +298 -38
  2. samsara/alerts/configurations/client.py +25 -11
  3. samsara/alerts/configurations/raw_client.py +47 -8
  4. samsara/alerts/incidents/client.py +21 -11
  5. samsara/alerts/incidents/raw_client.py +43 -9
  6. samsara/assets/client.py +21 -11
  7. samsara/assets/location_and_speed/client.py +21 -13
  8. samsara/assets/location_and_speed/raw_client.py +53 -9
  9. samsara/assets/raw_client.py +53 -8
  10. samsara/attributes/client.py +21 -13
  11. samsara/attributes/raw_client.py +41 -8
  12. samsara/cameras/media/client.py +2 -2
  13. samsara/cameras/media/raw_client.py +2 -2
  14. samsara/cameras/media/retrieval/client.py +2 -12
  15. samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +8 -1
  16. samsara/carrier_proposed_assignments/client.py +21 -11
  17. samsara/carrier_proposed_assignments/raw_client.py +43 -8
  18. samsara/client.py +15 -6
  19. samsara/coaching/driver_coach_assignments/client.py +22 -12
  20. samsara/coaching/driver_coach_assignments/raw_client.py +45 -8
  21. samsara/coaching/sessions/client.py +21 -13
  22. samsara/coaching/sessions/raw_client.py +51 -9
  23. samsara/contacts/client.py +21 -11
  24. samsara/contacts/raw_client.py +39 -8
  25. samsara/core/client_wrapper.py +2 -2
  26. samsara/defect_types/client.py +21 -11
  27. samsara/defect_types/raw_client.py +41 -9
  28. samsara/defects/client.py +124 -9
  29. samsara/defects/raw_client.py +356 -6
  30. samsara/devices/client.py +21 -11
  31. samsara/devices/raw_client.py +45 -9
  32. samsara/document_types/client.py +21 -11
  33. samsara/document_types/raw_client.py +37 -9
  34. samsara/documents/client.py +21 -11
  35. samsara/documents/raw_client.py +45 -8
  36. samsara/driver_trailer_assignments/client.py +23 -13
  37. samsara/driver_trailer_assignments/raw_client.py +43 -8
  38. samsara/drivers/__init__.py +1 -3
  39. samsara/drivers/client.py +21 -21
  40. samsara/drivers/raw_client.py +51 -8
  41. samsara/dvirs/client.py +124 -9
  42. samsara/dvirs/raw_client.py +356 -6
  43. samsara/equipment/__init__.py +2 -2
  44. samsara/equipment/client.py +23 -21
  45. samsara/equipment/locations/client.py +62 -34
  46. samsara/equipment/locations/raw_client.py +132 -27
  47. samsara/equipment/raw_client.py +45 -18
  48. samsara/equipment/stats/__init__.py +2 -2
  49. samsara/equipment/stats/client.py +81 -53
  50. samsara/equipment/stats/raw_client.py +157 -46
  51. samsara/equipment/stats/types/__init__.py +2 -2
  52. samsara/equipment/stats/types/{stats_get_request_types_item.py → stats_list_request_types_item.py} +1 -1
  53. samsara/form_submissions/client.py +46 -54
  54. samsara/form_submissions/pdf_exports/client.py +14 -22
  55. samsara/form_submissions/pdf_exports/raw_client.py +10 -18
  56. samsara/form_submissions/raw_client.py +74 -47
  57. samsara/forms/client.py +138 -0
  58. samsara/{beta → forms}/raw_client.py +37 -62
  59. samsara/function.py +99 -0
  60. samsara/gateways/client.py +21 -11
  61. samsara/gateways/raw_client.py +39 -8
  62. samsara/hos/__init__.py +3 -0
  63. samsara/hos/client.py +218 -11
  64. samsara/hos/raw_client.py +485 -8
  65. samsara/hos/types/__init__.py +7 -0
  66. samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +5 -0
  67. samsara/idling/__init__.py +7 -0
  68. samsara/idling/client.py +287 -0
  69. samsara/idling/raw_client.py +521 -0
  70. samsara/idling/types/__init__.py +7 -0
  71. samsara/idling/types/idling_list_request_pto_state.py +5 -0
  72. samsara/inputs/client.py +21 -11
  73. samsara/inputs/raw_client.py +51 -9
  74. samsara/issues/client.py +27 -29
  75. samsara/issues/raw_client.py +53 -26
  76. samsara/live_shares/client.py +21 -13
  77. samsara/live_shares/raw_client.py +43 -8
  78. samsara/maintenance/service_tasks/client.py +21 -11
  79. samsara/maintenance/service_tasks/raw_client.py +41 -8
  80. samsara/maintenance/work_orders/client.py +40 -22
  81. samsara/maintenance/work_orders/raw_client.py +84 -16
  82. samsara/readings/client.py +524 -0
  83. samsara/readings/raw_client.py +1214 -0
  84. samsara/reports/drivers/fuel_energy/client.py +6 -6
  85. samsara/reports/drivers/fuel_energy/raw_client.py +2 -2
  86. samsara/reports/ifta/__init__.py +4 -4
  87. samsara/reports/ifta/vehicle/__init__.py +2 -2
  88. samsara/reports/ifta/vehicle/client.py +21 -21
  89. samsara/reports/ifta/vehicle/raw_client.py +17 -17
  90. samsara/reports/ifta/vehicle/types/__init__.py +4 -4
  91. samsara/reports/ifta/vehicle/types/{vehicle_get_request_fuel_type.py → vehicle_list_request_fuel_type.py} +1 -1
  92. samsara/reports/ifta/vehicle/types/{vehicle_get_request_month.py → vehicle_list_request_month.py} +1 -1
  93. samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +5 -0
  94. samsara/reports/vehicles/__init__.py +2 -2
  95. samsara/reports/vehicles/fuel_energy/__init__.py +2 -2
  96. samsara/reports/vehicles/fuel_energy/client.py +11 -11
  97. samsara/reports/vehicles/fuel_energy/raw_client.py +7 -7
  98. samsara/reports/vehicles/fuel_energy/types/__init__.py +2 -2
  99. samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +5 -0
  100. samsara/reports/vehicles/idling/client.py +27 -15
  101. samsara/reports/vehicles/idling/raw_client.py +59 -11
  102. samsara/routes/client.py +21 -11
  103. samsara/routes/raw_client.py +43 -8
  104. samsara/safety_events/audit_logs/client.py +21 -13
  105. samsara/safety_events/audit_logs/raw_client.py +39 -9
  106. samsara/safety_events/client.py +21 -11
  107. samsara/safety_events/raw_client.py +47 -9
  108. samsara/speeding_intervals/client.py +25 -17
  109. samsara/speeding_intervals/raw_client.py +55 -13
  110. samsara/tachograph/__init__.py +7 -0
  111. samsara/tachograph/client.py +44 -0
  112. samsara/{drivers/tachograph_files → tachograph/driver}/client.py +162 -15
  113. samsara/{drivers/tachograph_files → tachograph/driver}/raw_client.py +153 -4
  114. samsara/tachograph/raw_client.py +13 -0
  115. samsara/{vehicles/tachograph_files → tachograph/vehicles}/client.py +15 -15
  116. samsara/{vehicles/tachograph_files → tachograph/vehicles}/raw_client.py +4 -4
  117. samsara/tags/client.py +21 -11
  118. samsara/tags/raw_client.py +39 -8
  119. samsara/trailers/client.py +21 -11
  120. samsara/trailers/raw_client.py +43 -8
  121. samsara/training_courses/client.py +21 -11
  122. samsara/training_courses/raw_client.py +43 -9
  123. samsara/trips/client.py +21 -11
  124. samsara/trips/raw_client.py +49 -9
  125. samsara/types/__init__.py +406 -50
  126. samsara/types/advanced_idling_get_idling_events_bad_gateway_error_response_body.py +33 -0
  127. samsara/types/advanced_idling_get_idling_events_gateway_timeout_error_response_body.py +33 -0
  128. samsara/types/{hos_daily_logs_update_shipping_docs_internal_server_error_response_body.py → advanced_idling_get_idling_events_internal_server_error_response_body.py} +1 -1
  129. samsara/types/advanced_idling_get_idling_events_method_not_allowed_error_response_body.py +33 -0
  130. samsara/types/{hos_daily_logs_update_shipping_docs_not_found_error_response_body.py → advanced_idling_get_idling_events_not_found_error_response_body.py} +1 -1
  131. samsara/types/{hos_daily_logs_update_shipping_docs_not_implemented_error_response_body.py → advanced_idling_get_idling_events_not_implemented_error_response_body.py} +1 -1
  132. samsara/types/advanced_idling_get_idling_events_response_body.py +26 -0
  133. samsara/types/{hos_daily_logs_update_shipping_docs_service_unavailable_error_response_body.py → advanced_idling_get_idling_events_service_unavailable_error_response_body.py} +1 -1
  134. samsara/types/{hos_daily_logs_update_shipping_docs_gateway_timeout_error_response_body.py → advanced_idling_get_idling_events_too_many_requests_error_response_body.py} +2 -2
  135. samsara/types/advanced_idling_get_idling_events_unauthorized_error_response_body.py +33 -0
  136. samsara/types/alert_object_asset_response_body.py +63 -0
  137. samsara/types/{assets_create_asset_response_body_type.py → alert_object_asset_response_body_type.py} +1 -1
  138. samsara/types/assets_create_asset_response_body.py +2 -87
  139. samsara/types/assets_update_asset_response_body.py +2 -87
  140. samsara/types/continuous_reading_alert_threshold_response_body.py +49 -0
  141. samsara/types/continuous_reading_alert_threshold_response_body_operation.py +7 -0
  142. samsara/types/continuous_reading_alert_threshold_response_body_unit.py +62 -0
  143. samsara/types/device_response_response_body.py +1 -1
  144. samsara/types/device_response_response_body_model.py +1 -0
  145. samsara/types/dvir_defect_get_defect_bad_gateway_error_response_body.py +33 -0
  146. samsara/types/dvir_defect_get_defect_gateway_timeout_error_response_body.py +33 -0
  147. samsara/types/dvir_defect_get_defect_internal_server_error_response_body.py +33 -0
  148. samsara/types/dvir_defect_get_defect_method_not_allowed_error_response_body.py +33 -0
  149. samsara/types/dvir_defect_get_defect_not_found_error_response_body.py +33 -0
  150. samsara/types/dvir_defect_get_defect_not_implemented_error_response_body.py +33 -0
  151. samsara/types/dvir_defect_get_defect_response_body.py +91 -0
  152. samsara/types/dvir_defect_get_defect_service_unavailable_error_response_body.py +33 -0
  153. samsara/types/dvir_defect_get_defect_too_many_requests_error_response_body.py +33 -0
  154. samsara/types/dvir_defect_get_defect_unauthorized_error_response_body.py +33 -0
  155. samsara/types/dvir_get_dvir_bad_gateway_error_response_body.py +33 -0
  156. samsara/types/dvir_get_dvir_gateway_timeout_error_response_body.py +33 -0
  157. samsara/types/dvir_get_dvir_internal_server_error_response_body.py +33 -0
  158. samsara/types/dvir_get_dvir_method_not_allowed_error_response_body.py +33 -0
  159. samsara/types/dvir_get_dvir_not_found_error_response_body.py +33 -0
  160. samsara/types/dvir_get_dvir_not_implemented_error_response_body.py +33 -0
  161. samsara/types/dvir_get_dvir_response_body.py +99 -0
  162. samsara/types/dvir_get_dvir_response_body_safety_status.py +5 -0
  163. samsara/types/dvir_get_dvir_response_body_type.py +5 -0
  164. samsara/types/dvir_get_dvir_service_unavailable_error_response_body.py +33 -0
  165. samsara/types/dvir_get_dvir_too_many_requests_error_response_body.py +33 -0
  166. samsara/types/dvir_get_dvir_unauthorized_error_response_body.py +33 -0
  167. samsara/types/enum_reading_alert_threshold_response_body.py +31 -0
  168. samsara/types/enum_value_response_body.py +31 -0
  169. samsara/types/equipment_gateway_engine_seconds.py +1 -1
  170. samsara/types/equipment_gateway_j_1939_engine_seconds.py +1 -1
  171. samsara/types/equipment_obd_engine_seconds.py +1 -1
  172. samsara/types/event_location_response_body.py +31 -0
  173. samsara/types/form_submission_request_field_input_object_request_body.py +7 -1
  174. samsara/types/form_submission_request_field_input_object_request_body_type.py +3 -1
  175. samsara/types/{hos_daily_logs_update_shipping_docs_response_body.py → form_submission_request_geofence_object_request_body.py} +9 -3
  176. samsara/types/form_submission_request_geofence_value_object_request_body.py +24 -0
  177. samsara/types/form_submission_response_object_response_body.py +8 -0
  178. samsara/types/{form_template_reference_object_request_body.py → form_template_request_object_request_body.py} +6 -4
  179. samsara/types/form_template_response_object_response_body.py +74 -0
  180. samsara/types/form_template_section_object_response_body.py +47 -0
  181. samsara/types/form_templates_get_form_templates_bad_gateway_error_response_body.py +33 -0
  182. samsara/types/form_templates_get_form_templates_gateway_timeout_error_response_body.py +33 -0
  183. samsara/types/form_templates_get_form_templates_internal_server_error_response_body.py +33 -0
  184. samsara/types/form_templates_get_form_templates_method_not_allowed_error_response_body.py +33 -0
  185. samsara/types/form_templates_get_form_templates_not_found_error_response_body.py +33 -0
  186. samsara/types/form_templates_get_form_templates_not_implemented_error_response_body.py +33 -0
  187. samsara/types/form_templates_get_form_templates_response_body.py +26 -0
  188. samsara/types/form_templates_get_form_templates_service_unavailable_error_response_body.py +33 -0
  189. samsara/types/form_templates_get_form_templates_too_many_requests_error_response_body.py +33 -0
  190. samsara/types/form_templates_get_form_templates_unauthorized_error_response_body.py +33 -0
  191. samsara/types/forms_action_object_response_body.py +43 -0
  192. samsara/types/forms_action_object_response_body_type.py +7 -0
  193. samsara/types/forms_approval_config_object_response_body.py +32 -0
  194. samsara/types/forms_asset_object_response_body.py +8 -1
  195. samsara/types/forms_check_boxes_value_object_response_body.py +7 -0
  196. samsara/types/forms_condition_object_response_body.py +36 -0
  197. samsara/types/forms_condition_object_response_body_type.py +7 -0
  198. samsara/types/forms_conditional_action_object_response_body.py +30 -0
  199. samsara/types/forms_field_definition_object_response_body.py +143 -0
  200. samsara/types/forms_field_definition_object_response_body_allowed_asset_types_item.py +7 -0
  201. samsara/types/forms_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
  202. samsara/types/forms_field_definition_object_response_body_type.py +22 -0
  203. samsara/types/forms_field_input_object_response_body.py +7 -4
  204. samsara/types/forms_field_input_object_response_body_type.py +20 -0
  205. samsara/types/forms_geofence_object_response_body.py +53 -0
  206. samsara/types/forms_geofence_object_response_body_entry_type.py +5 -0
  207. samsara/types/forms_geofence_value_object_response_body.py +24 -0
  208. samsara/types/forms_multiple_choice_value_object_response_body.py +8 -1
  209. samsara/types/forms_product_submission_approval_details_object_response_body.py +26 -0
  210. samsara/types/forms_select_option_object_response_body.py +47 -0
  211. samsara/types/forms_single_approval_config_object_response_body.py +33 -0
  212. samsara/types/forms_table_cell_object_response_body.py +3 -4
  213. samsara/types/forms_table_cell_object_response_body_type.py +8 -0
  214. samsara/types/forms_table_column_object_response_body.py +3 -4
  215. samsara/types/forms_table_column_object_response_body_type.py +8 -0
  216. samsara/types/forms_table_field_definition_object_response_body.py +91 -0
  217. samsara/types/forms_table_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
  218. samsara/types/forms_table_field_definition_object_response_body_type.py +8 -0
  219. samsara/types/fuel_cost_object_response_body.py +32 -0
  220. samsara/types/fuel_cost_object_response_body_currency.py +5 -0
  221. samsara/types/fuel_volume_response_body.py +28 -0
  222. samsara/types/fuel_volume_response_body_unit.py +5 -0
  223. samsara/types/gaseous_fuel_cost_object_response_body.py +32 -0
  224. samsara/types/gaseous_fuel_cost_object_response_body_currency.py +7 -0
  225. samsara/types/gateway_details_response_response_body.py +14 -0
  226. samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +1 -0
  227. samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +1 -0
  228. samsara/types/idling_event_object_response_body.py +101 -0
  229. samsara/types/idling_event_object_response_body_address_type.py +17 -0
  230. samsara/types/inline_response_2005.py +24 -0
  231. samsara/types/inline_response_2006.py +24 -0
  232. samsara/types/reading_definition_response_body.py +59 -0
  233. samsara/types/reading_history_response_body.py +47 -0
  234. samsara/types/reading_snapshot_response_body.py +52 -0
  235. samsara/types/reading_trigger_continuous_value_object_request_body.py +51 -0
  236. samsara/types/reading_trigger_continuous_value_object_request_body_operation.py +7 -0
  237. samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +62 -0
  238. samsara/types/reading_trigger_continuous_value_object_response_body.py +51 -0
  239. samsara/types/reading_trigger_continuous_value_object_response_body_operation.py +7 -0
  240. samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +62 -0
  241. samsara/types/reading_trigger_details_object_request_body.py +48 -0
  242. samsara/types/reading_trigger_details_object_response_body.py +48 -0
  243. samsara/types/reading_trigger_details_response_body.py +38 -0
  244. samsara/types/reading_trigger_enum_value_object_request_body.py +31 -0
  245. samsara/types/reading_trigger_enum_value_object_response_body.py +31 -0
  246. samsara/types/reading_type_response_body.py +34 -0
  247. samsara/types/reading_type_response_body_data_type.py +5 -0
  248. samsara/types/readings_get_readings_history_bad_gateway_error_response_body.py +33 -0
  249. samsara/types/{hos_daily_logs_update_shipping_docs_bad_gateway_error_response_body.py → readings_get_readings_history_gateway_timeout_error_response_body.py} +2 -2
  250. samsara/types/readings_get_readings_history_internal_server_error_response_body.py +33 -0
  251. samsara/types/readings_get_readings_history_method_not_allowed_error_response_body.py +33 -0
  252. samsara/types/readings_get_readings_history_not_found_error_response_body.py +33 -0
  253. samsara/types/readings_get_readings_history_not_implemented_error_response_body.py +33 -0
  254. samsara/types/readings_get_readings_history_response_body.py +26 -0
  255. samsara/types/readings_get_readings_history_service_unavailable_error_response_body.py +33 -0
  256. samsara/types/readings_get_readings_history_too_many_requests_error_response_body.py +33 -0
  257. samsara/types/readings_get_readings_history_unauthorized_error_response_body.py +33 -0
  258. samsara/types/readings_get_readings_snapshot_bad_gateway_error_response_body.py +33 -0
  259. samsara/types/readings_get_readings_snapshot_gateway_timeout_error_response_body.py +33 -0
  260. samsara/types/readings_get_readings_snapshot_internal_server_error_response_body.py +33 -0
  261. samsara/types/readings_get_readings_snapshot_method_not_allowed_error_response_body.py +33 -0
  262. samsara/types/readings_get_readings_snapshot_not_found_error_response_body.py +33 -0
  263. samsara/types/readings_get_readings_snapshot_not_implemented_error_response_body.py +33 -0
  264. samsara/types/readings_get_readings_snapshot_response_body.py +26 -0
  265. samsara/types/readings_get_readings_snapshot_service_unavailable_error_response_body.py +33 -0
  266. samsara/types/{hos_daily_logs_update_shipping_docs_unauthorized_error_response_body.py → readings_get_readings_snapshot_too_many_requests_error_response_body.py} +2 -2
  267. samsara/types/readings_get_readings_snapshot_unauthorized_error_response_body.py +33 -0
  268. samsara/types/readings_list_readings_definitions_bad_gateway_error_response_body.py +33 -0
  269. samsara/types/{hos_daily_logs_update_shipping_docs_too_many_requests_error_response_body.py → readings_list_readings_definitions_gateway_timeout_error_response_body.py} +2 -2
  270. samsara/types/readings_list_readings_definitions_internal_server_error_response_body.py +33 -0
  271. samsara/types/readings_list_readings_definitions_method_not_allowed_error_response_body.py +33 -0
  272. samsara/types/readings_list_readings_definitions_not_found_error_response_body.py +33 -0
  273. samsara/types/readings_list_readings_definitions_not_implemented_error_response_body.py +33 -0
  274. samsara/types/readings_list_readings_definitions_response_body.py +26 -0
  275. samsara/types/readings_list_readings_definitions_service_unavailable_error_response_body.py +33 -0
  276. samsara/types/{hos_daily_logs_update_shipping_docs_method_not_allowed_error_response_body.py → readings_list_readings_definitions_too_many_requests_error_response_body.py} +2 -2
  277. samsara/types/readings_list_readings_definitions_unauthorized_error_response_body.py +33 -0
  278. samsara/types/safety_score_configuration_settings_object_response_body.py +7 -0
  279. samsara/types/single_approval_requirements_object_response_body.py +28 -0
  280. samsara/types/sudden_fuel_level_drop_response_body.py +33 -0
  281. samsara/types/sudden_fuel_level_rise_response_body.py +33 -0
  282. samsara/types/trigger_params_object_request_body.py +2 -0
  283. samsara/types/trigger_params_object_response_body.py +2 -0
  284. samsara/types/unit_response_body.py +39 -0
  285. samsara/types/unit_response_body_base_unit.py +62 -0
  286. samsara/types/unit_response_body_measurement_type.py +28 -0
  287. samsara/types/uploaded_media_object_response_body.py +1 -1
  288. samsara/types/uploaded_media_object_response_body_trigger_reason.py +8 -1
  289. samsara/types/v_1_message.py +29 -0
  290. samsara/types/v_1_message_response.py +41 -0
  291. samsara/types/v_1_message_sender.py +27 -0
  292. samsara/types/v_1_messages.py +7 -0
  293. samsara/types/v_1_messages_response.py +7 -0
  294. samsara/types/webhook_response_response_body_event_types_item.py +1 -0
  295. samsara/types/webhooks_get_webhook_response_body_event_types_item.py +1 -0
  296. samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +1 -0
  297. samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +1 -0
  298. samsara/types/workflow_geofence_event_response_object_response_body.py +6 -0
  299. samsara/types/workflow_incident_details_object_response_body.py +2 -0
  300. samsara/types/workflow_trigger_object_request_body.py +1 -0
  301. samsara/types/workflow_trigger_object_response_body.py +1 -0
  302. samsara/user_roles/client.py +21 -11
  303. samsara/user_roles/raw_client.py +39 -9
  304. samsara/users/client.py +21 -11
  305. samsara/users/raw_client.py +39 -8
  306. samsara/v_1_messages/__init__.py +4 -0
  307. samsara/v_1_messages/client.py +258 -0
  308. samsara/v_1_messages/raw_client.py +273 -0
  309. samsara/vehicles/__init__.py +1 -2
  310. samsara/vehicles/client.py +31 -16
  311. samsara/vehicles/immobilizer/client.py +21 -13
  312. samsara/vehicles/immobilizer/raw_client.py +43 -9
  313. samsara/vehicles/locations/client.py +60 -32
  314. samsara/vehicles/locations/raw_client.py +132 -25
  315. samsara/vehicles/raw_client.py +61 -8
  316. samsara/vehicles/stats/client.py +66 -38
  317. samsara/vehicles/stats/raw_client.py +148 -31
  318. samsara/webhooks/client.py +21 -11
  319. samsara/webhooks/raw_client.py +41 -8
  320. samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +1 -0
  321. samsara_api-0.0.2.dist-info/METADATA +29 -0
  322. {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/RECORD +328 -193
  323. samsara/beta/client.py +0 -161
  324. samsara/drivers/tachograph_activity/client.py +0 -186
  325. samsara/drivers/tachograph_activity/raw_client.py +0 -169
  326. samsara/hours_of_service/__init__.py +0 -7
  327. samsara/hours_of_service/client.py +0 -229
  328. samsara/hours_of_service/raw_client.py +0 -425
  329. samsara/hours_of_service/types/__init__.py +0 -9
  330. samsara/hours_of_service/types/hours_of_service_get_daily_logs_request_driver_activation_status.py +0 -7
  331. samsara/reports/ifta/vehicle/types/vehicle_get_request_quarter.py +0 -5
  332. samsara/reports/vehicles/fuel_energy/types/fuel_energy_get_request_energy_type.py +0 -5
  333. samsara/types/assets_create_asset_response_body_regulation_mode.py +0 -7
  334. samsara/types/assets_update_asset_response_body_regulation_mode.py +0 -7
  335. samsara/types/assets_update_asset_response_body_type.py +0 -7
  336. samsara/types/patch_shipping_docs_response_body_response_body.py +0 -93
  337. samsara_api-0.0.1.dist-info/METADATA +0 -214
  338. /samsara/{beta → forms}/__init__.py +0 -0
  339. /samsara/{drivers/tachograph_activity → readings}/__init__.py +0 -0
  340. /samsara/{drivers/tachograph_files → tachograph/driver}/__init__.py +0 -0
  341. /samsara/{vehicles/tachograph_files → tachograph/vehicles}/__init__.py +0 -0
  342. {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/LICENSE +0 -0
  343. {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/WHEEL +0 -0
@@ -7,6 +7,7 @@ from json.decoder import JSONDecodeError
7
7
  from ..core.api_error import ApiError
8
8
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
9
  from ..core.http_response import AsyncHttpResponse, HttpResponse
10
+ from ..core.pagination import AsyncPager, BaseHttpResponse, SyncPager
10
11
  from ..core.pydantic_utilities import parse_obj_as
11
12
  from ..core.request_options import RequestOptions
12
13
  from ..core.serialization import convert_and_respect_annotation_metadata
@@ -26,13 +27,14 @@ from ..types.form_submission_request_assigned_to_request_body import FormSubmiss
26
27
  from ..types.form_submission_request_field_input_object_request_body import (
27
28
  FormSubmissionRequestFieldInputObjectRequestBody,
28
29
  )
30
+ from ..types.form_submission_response_object_response_body import FormSubmissionResponseObjectResponseBody
29
31
  from ..types.form_submissions_get_form_submissions_response_body import FormSubmissionsGetFormSubmissionsResponseBody
30
32
  from ..types.form_submissions_get_form_submissions_stream_response_body import (
31
33
  FormSubmissionsGetFormSubmissionsStreamResponseBody,
32
34
  )
33
35
  from ..types.form_submissions_patch_form_submission_response_body import FormSubmissionsPatchFormSubmissionResponseBody
34
36
  from ..types.form_submissions_post_form_submission_response_body import FormSubmissionsPostFormSubmissionResponseBody
35
- from ..types.form_template_reference_object_request_body import FormTemplateReferenceObjectRequestBody
37
+ from ..types.form_template_request_object_request_body import FormTemplateRequestObjectRequestBody
36
38
  from .types.form_submissions_patch_form_submission_request_body_status import (
37
39
  FormSubmissionsPatchFormSubmissionRequestBodyStatus,
38
40
  )
@@ -53,13 +55,11 @@ class RawFormSubmissionsClient:
53
55
  request_options: typing.Optional[RequestOptions] = None,
54
56
  ) -> HttpResponse[FormSubmissionsGetFormSubmissionsResponseBody]:
55
57
  """
56
- Returns all form submissions data for the specified IDs.
57
-
58
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
58
+ Returns all form submissions data for the specified list of IDs.
59
59
 
60
60
  <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>).
61
61
 
62
- To use this endpoint, select **Read Form Submissions** 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>
62
+ To use this endpoint, select **Read Form Submissions** under the Forms 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>
63
63
 
64
64
 
65
65
  **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.
@@ -70,7 +70,7 @@ class RawFormSubmissionsClient:
70
70
  A comma-separated list containing up to 100 form submission IDs to filter on. Can be either a unique Samsara ID or an [external ID](https://developers.samsara.com/docs/external-ids) for the form submission.
71
71
 
72
72
  include : typing.Optional[typing.Union[str, typing.Sequence[str]]]
73
- A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`, `fieldLabels`
73
+ A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`
74
74
 
75
75
  request_options : typing.Optional[RequestOptions]
76
76
  Request-specific configuration.
@@ -206,7 +206,7 @@ class RawFormSubmissionsClient:
206
206
  def create(
207
207
  self,
208
208
  *,
209
- form_template: FormTemplateReferenceObjectRequestBody,
209
+ form_template: FormTemplateRequestObjectRequestBody,
210
210
  assigned_to: typing.Optional[FormSubmissionRequestAssignedToRequestBody] = OMIT,
211
211
  due_at_time: typing.Optional[dt.datetime] = OMIT,
212
212
  fields: typing.Optional[typing.Sequence[FormSubmissionRequestFieldInputObjectRequestBody]] = OMIT,
@@ -216,20 +216,18 @@ class RawFormSubmissionsClient:
216
216
  request_options: typing.Optional[RequestOptions] = None,
217
217
  ) -> HttpResponse[FormSubmissionsPostFormSubmissionResponseBody]:
218
218
  """
219
- Creates a form submission.
220
-
221
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
219
+ Creates a form submission and assigns it to an individual worker. This endpoint can be used to create an empty or partially complete form submission and assign it to a worker.
222
220
 
223
221
  <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>).
224
222
 
225
- To use this endpoint, select **Write Form Submissions** 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>
223
+ To use this endpoint, select **Write Form Submissions** under the Forms 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>
226
224
 
227
225
 
228
226
  **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.
229
227
 
230
228
  Parameters
231
229
  ----------
232
- form_template : FormTemplateReferenceObjectRequestBody
230
+ form_template : FormTemplateRequestObjectRequestBody
233
231
 
234
232
  assigned_to : typing.Optional[FormSubmissionRequestAssignedToRequestBody]
235
233
 
@@ -270,7 +268,7 @@ class RawFormSubmissionsClient:
270
268
  direction="write",
271
269
  ),
272
270
  "formTemplate": convert_and_respect_annotation_metadata(
273
- object_=form_template, annotation=FormTemplateReferenceObjectRequestBody, direction="write"
271
+ object_=form_template, annotation=FormTemplateRequestObjectRequestBody, direction="write"
274
272
  ),
275
273
  "isRequired": is_required,
276
274
  "routeStopId": route_stop_id,
@@ -413,11 +411,9 @@ class RawFormSubmissionsClient:
413
411
  """
414
412
  Updates an instance of a form submission.
415
413
 
416
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
417
-
418
414
  <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>).
419
415
 
420
- To use this endpoint, select **Write Form Submissions** 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>
416
+ To use this endpoint, select **Write Form Submissions** under the Forms 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>
421
417
 
422
418
 
423
419
  **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.
@@ -605,15 +601,13 @@ class RawFormSubmissionsClient:
605
601
  include: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
606
602
  assigned_to_route_stop_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
607
603
  request_options: typing.Optional[RequestOptions] = None,
608
- ) -> HttpResponse[FormSubmissionsGetFormSubmissionsStreamResponseBody]:
604
+ ) -> SyncPager[FormSubmissionResponseObjectResponseBody]:
609
605
  """
610
606
  Returns all form submissions data that has been created or modified for your organization based on the time parameters passed in. Results are paginated and are sorted by last modified date. If you include an endTime, the endpoint will return data up until that point (exclusive). If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call.
611
607
 
612
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
613
-
614
608
  <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>).
615
609
 
616
- To use this endpoint, select **Read Form Submissions** 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>
610
+ To use this endpoint, select **Read Form Submissions** under the Forms 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>
617
611
 
618
612
 
619
613
  **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.
@@ -639,7 +633,7 @@ class RawFormSubmissionsClient:
639
633
  A comma-separated list containing up to 50 user IDs to filter data to.
640
634
 
641
635
  include : typing.Optional[typing.Union[str, typing.Sequence[str]]]
642
- A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`, `fieldLabels`
636
+ A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`
643
637
 
644
638
  assigned_to_route_stop_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
645
639
  A comma-separated list containing up to 50 route stop IDs to filter data to.
@@ -649,7 +643,7 @@ class RawFormSubmissionsClient:
649
643
 
650
644
  Returns
651
645
  -------
652
- HttpResponse[FormSubmissionsGetFormSubmissionsStreamResponseBody]
646
+ SyncPager[FormSubmissionResponseObjectResponseBody]
653
647
  OK response.
654
648
  """
655
649
  _response = self._client_wrapper.httpx_client.request(
@@ -669,14 +663,33 @@ class RawFormSubmissionsClient:
669
663
  )
670
664
  try:
671
665
  if 200 <= _response.status_code < 300:
672
- _data = typing.cast(
666
+ _parsed_response = typing.cast(
673
667
  FormSubmissionsGetFormSubmissionsStreamResponseBody,
674
668
  parse_obj_as(
675
669
  type_=FormSubmissionsGetFormSubmissionsStreamResponseBody, # type: ignore
676
670
  object_=_response.json(),
677
671
  ),
678
672
  )
679
- return HttpResponse(response=_response, data=_data)
673
+ _items = _parsed_response.data
674
+ _has_next = False
675
+ _get_next = None
676
+ if _parsed_response.pagination is not None:
677
+ _parsed_next = _parsed_response.pagination.end_cursor
678
+ _has_next = _parsed_next is not None and _parsed_next != ""
679
+ _get_next = lambda: self.stream(
680
+ start_time=start_time,
681
+ end_time=end_time,
682
+ after=_parsed_next,
683
+ form_template_ids=form_template_ids,
684
+ user_ids=user_ids,
685
+ driver_ids=driver_ids,
686
+ include=include,
687
+ assigned_to_route_stop_ids=assigned_to_route_stop_ids,
688
+ request_options=request_options,
689
+ )
690
+ return SyncPager(
691
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
692
+ )
680
693
  if _response.status_code == 401:
681
694
  raise UnauthorizedError(
682
695
  headers=dict(_response.headers),
@@ -794,13 +807,11 @@ class AsyncRawFormSubmissionsClient:
794
807
  request_options: typing.Optional[RequestOptions] = None,
795
808
  ) -> AsyncHttpResponse[FormSubmissionsGetFormSubmissionsResponseBody]:
796
809
  """
797
- Returns all form submissions data for the specified IDs.
798
-
799
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
810
+ Returns all form submissions data for the specified list of IDs.
800
811
 
801
812
  <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>).
802
813
 
803
- To use this endpoint, select **Read Form Submissions** 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>
814
+ To use this endpoint, select **Read Form Submissions** under the Forms 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>
804
815
 
805
816
 
806
817
  **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.
@@ -811,7 +822,7 @@ class AsyncRawFormSubmissionsClient:
811
822
  A comma-separated list containing up to 100 form submission IDs to filter on. Can be either a unique Samsara ID or an [external ID](https://developers.samsara.com/docs/external-ids) for the form submission.
812
823
 
813
824
  include : typing.Optional[typing.Union[str, typing.Sequence[str]]]
814
- A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`, `fieldLabels`
825
+ A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`
815
826
 
816
827
  request_options : typing.Optional[RequestOptions]
817
828
  Request-specific configuration.
@@ -947,7 +958,7 @@ class AsyncRawFormSubmissionsClient:
947
958
  async def create(
948
959
  self,
949
960
  *,
950
- form_template: FormTemplateReferenceObjectRequestBody,
961
+ form_template: FormTemplateRequestObjectRequestBody,
951
962
  assigned_to: typing.Optional[FormSubmissionRequestAssignedToRequestBody] = OMIT,
952
963
  due_at_time: typing.Optional[dt.datetime] = OMIT,
953
964
  fields: typing.Optional[typing.Sequence[FormSubmissionRequestFieldInputObjectRequestBody]] = OMIT,
@@ -957,20 +968,18 @@ class AsyncRawFormSubmissionsClient:
957
968
  request_options: typing.Optional[RequestOptions] = None,
958
969
  ) -> AsyncHttpResponse[FormSubmissionsPostFormSubmissionResponseBody]:
959
970
  """
960
- Creates a form submission.
961
-
962
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
971
+ Creates a form submission and assigns it to an individual worker. This endpoint can be used to create an empty or partially complete form submission and assign it to a worker.
963
972
 
964
973
  <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>).
965
974
 
966
- To use this endpoint, select **Write Form Submissions** 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>
975
+ To use this endpoint, select **Write Form Submissions** under the Forms 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>
967
976
 
968
977
 
969
978
  **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.
970
979
 
971
980
  Parameters
972
981
  ----------
973
- form_template : FormTemplateReferenceObjectRequestBody
982
+ form_template : FormTemplateRequestObjectRequestBody
974
983
 
975
984
  assigned_to : typing.Optional[FormSubmissionRequestAssignedToRequestBody]
976
985
 
@@ -1011,7 +1020,7 @@ class AsyncRawFormSubmissionsClient:
1011
1020
  direction="write",
1012
1021
  ),
1013
1022
  "formTemplate": convert_and_respect_annotation_metadata(
1014
- object_=form_template, annotation=FormTemplateReferenceObjectRequestBody, direction="write"
1023
+ object_=form_template, annotation=FormTemplateRequestObjectRequestBody, direction="write"
1015
1024
  ),
1016
1025
  "isRequired": is_required,
1017
1026
  "routeStopId": route_stop_id,
@@ -1154,11 +1163,9 @@ class AsyncRawFormSubmissionsClient:
1154
1163
  """
1155
1164
  Updates an instance of a form submission.
1156
1165
 
1157
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
1158
-
1159
1166
  <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>).
1160
1167
 
1161
- To use this endpoint, select **Write Form Submissions** 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>
1168
+ To use this endpoint, select **Write Form Submissions** under the Forms 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>
1162
1169
 
1163
1170
 
1164
1171
  **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.
@@ -1346,15 +1353,13 @@ class AsyncRawFormSubmissionsClient:
1346
1353
  include: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
1347
1354
  assigned_to_route_stop_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
1348
1355
  request_options: typing.Optional[RequestOptions] = None,
1349
- ) -> AsyncHttpResponse[FormSubmissionsGetFormSubmissionsStreamResponseBody]:
1356
+ ) -> AsyncPager[FormSubmissionResponseObjectResponseBody]:
1350
1357
  """
1351
1358
  Returns all form submissions data that has been created or modified for your organization based on the time parameters passed in. Results are paginated and are sorted by last modified date. If you include an endTime, the endpoint will return data up until that point (exclusive). If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call.
1352
1359
 
1353
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
1354
-
1355
1360
  <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>).
1356
1361
 
1357
- To use this endpoint, select **Read Form Submissions** 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>
1362
+ To use this endpoint, select **Read Form Submissions** under the Forms 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>
1358
1363
 
1359
1364
 
1360
1365
  **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.
@@ -1380,7 +1385,7 @@ class AsyncRawFormSubmissionsClient:
1380
1385
  A comma-separated list containing up to 50 user IDs to filter data to.
1381
1386
 
1382
1387
  include : typing.Optional[typing.Union[str, typing.Sequence[str]]]
1383
- A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`, `fieldLabels`
1388
+ A comma-separated list of strings indicating whether to return additional information. Valid values: `externalIds`
1384
1389
 
1385
1390
  assigned_to_route_stop_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
1386
1391
  A comma-separated list containing up to 50 route stop IDs to filter data to.
@@ -1390,7 +1395,7 @@ class AsyncRawFormSubmissionsClient:
1390
1395
 
1391
1396
  Returns
1392
1397
  -------
1393
- AsyncHttpResponse[FormSubmissionsGetFormSubmissionsStreamResponseBody]
1398
+ AsyncPager[FormSubmissionResponseObjectResponseBody]
1394
1399
  OK response.
1395
1400
  """
1396
1401
  _response = await self._client_wrapper.httpx_client.request(
@@ -1410,14 +1415,36 @@ class AsyncRawFormSubmissionsClient:
1410
1415
  )
1411
1416
  try:
1412
1417
  if 200 <= _response.status_code < 300:
1413
- _data = typing.cast(
1418
+ _parsed_response = typing.cast(
1414
1419
  FormSubmissionsGetFormSubmissionsStreamResponseBody,
1415
1420
  parse_obj_as(
1416
1421
  type_=FormSubmissionsGetFormSubmissionsStreamResponseBody, # type: ignore
1417
1422
  object_=_response.json(),
1418
1423
  ),
1419
1424
  )
1420
- return AsyncHttpResponse(response=_response, data=_data)
1425
+ _items = _parsed_response.data
1426
+ _has_next = False
1427
+ _get_next = None
1428
+ if _parsed_response.pagination is not None:
1429
+ _parsed_next = _parsed_response.pagination.end_cursor
1430
+ _has_next = _parsed_next is not None and _parsed_next != ""
1431
+
1432
+ async def _get_next():
1433
+ return await self.stream(
1434
+ start_time=start_time,
1435
+ end_time=end_time,
1436
+ after=_parsed_next,
1437
+ form_template_ids=form_template_ids,
1438
+ user_ids=user_ids,
1439
+ driver_ids=driver_ids,
1440
+ include=include,
1441
+ assigned_to_route_stop_ids=assigned_to_route_stop_ids,
1442
+ request_options=request_options,
1443
+ )
1444
+
1445
+ return AsyncPager(
1446
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
1447
+ )
1421
1448
  if _response.status_code == 401:
1422
1449
  raise UnauthorizedError(
1423
1450
  headers=dict(_response.headers),
@@ -0,0 +1,138 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.request_options import RequestOptions
7
+ from ..types.form_templates_get_form_templates_response_body import FormTemplatesGetFormTemplatesResponseBody
8
+ from .raw_client import AsyncRawFormsClient, RawFormsClient
9
+
10
+
11
+ class FormsClient:
12
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
13
+ self._raw_client = RawFormsClient(client_wrapper=client_wrapper)
14
+
15
+ @property
16
+ def with_raw_response(self) -> RawFormsClient:
17
+ """
18
+ Retrieves a raw implementation of this client that returns raw responses.
19
+
20
+ Returns
21
+ -------
22
+ RawFormsClient
23
+ """
24
+ return self._raw_client
25
+
26
+ def get_form_templates(
27
+ self,
28
+ *,
29
+ ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
30
+ after: typing.Optional[str] = None,
31
+ request_options: typing.Optional[RequestOptions] = None,
32
+ ) -> FormTemplatesGetFormTemplatesResponseBody:
33
+ """
34
+ Returns a list of the organization's form templates for the specified list of IDs. If no IDs are provided, all form templates for the organization will be returned.
35
+
36
+ <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>).
37
+
38
+ To use this endpoint, select **Read Form Submissions** under the Forms 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>
39
+
40
+
41
+ **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.
42
+
43
+ Parameters
44
+ ----------
45
+ ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
46
+ A comma-separated list containing up to 100 template IDs to filter on.
47
+
48
+ after : typing.Optional[str]
49
+ 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.
50
+
51
+ request_options : typing.Optional[RequestOptions]
52
+ Request-specific configuration.
53
+
54
+ Returns
55
+ -------
56
+ FormTemplatesGetFormTemplatesResponseBody
57
+ OK response.
58
+
59
+ Examples
60
+ --------
61
+ from samsara import Samsara
62
+
63
+ client = Samsara(
64
+ token="YOUR_TOKEN",
65
+ )
66
+ client.forms.get_form_templates()
67
+ """
68
+ _response = self._raw_client.get_form_templates(ids=ids, after=after, request_options=request_options)
69
+ return _response.data
70
+
71
+
72
+ class AsyncFormsClient:
73
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
74
+ self._raw_client = AsyncRawFormsClient(client_wrapper=client_wrapper)
75
+
76
+ @property
77
+ def with_raw_response(self) -> AsyncRawFormsClient:
78
+ """
79
+ Retrieves a raw implementation of this client that returns raw responses.
80
+
81
+ Returns
82
+ -------
83
+ AsyncRawFormsClient
84
+ """
85
+ return self._raw_client
86
+
87
+ async def get_form_templates(
88
+ self,
89
+ *,
90
+ ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
91
+ after: typing.Optional[str] = None,
92
+ request_options: typing.Optional[RequestOptions] = None,
93
+ ) -> FormTemplatesGetFormTemplatesResponseBody:
94
+ """
95
+ Returns a list of the organization's form templates for the specified list of IDs. If no IDs are provided, all form templates for the organization will be returned.
96
+
97
+ <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>).
98
+
99
+ To use this endpoint, select **Read Form Submissions** under the Forms 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>
100
+
101
+
102
+ **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.
103
+
104
+ Parameters
105
+ ----------
106
+ ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
107
+ A comma-separated list containing up to 100 template IDs to filter on.
108
+
109
+ after : typing.Optional[str]
110
+ 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.
111
+
112
+ request_options : typing.Optional[RequestOptions]
113
+ Request-specific configuration.
114
+
115
+ Returns
116
+ -------
117
+ FormTemplatesGetFormTemplatesResponseBody
118
+ OK response.
119
+
120
+ Examples
121
+ --------
122
+ import asyncio
123
+
124
+ from samsara import AsyncSamsara
125
+
126
+ client = AsyncSamsara(
127
+ token="YOUR_TOKEN",
128
+ )
129
+
130
+
131
+ async def main() -> None:
132
+ await client.forms.get_form_templates()
133
+
134
+
135
+ asyncio.run(main())
136
+ """
137
+ _response = await self._raw_client.get_form_templates(ids=ids, after=after, request_options=request_options)
138
+ return _response.data