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,7 +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.datetime_utils import serialize_datetime
10
- from ...core.http_response import AsyncHttpResponse, HttpResponse
10
+ from ...core.pagination import AsyncPager, BaseHttpResponse, SyncPager
11
11
  from ...core.pydantic_utilities import parse_obj_as
12
12
  from ...core.request_options import RequestOptions
13
13
  from ...errors.bad_gateway_error import BadGatewayError
@@ -22,6 +22,7 @@ from ...errors.unauthorized_error import UnauthorizedError
22
22
  from ...types.coaching_sessions_get_coaching_sessions_response_body import (
23
23
  CoachingSessionsGetCoachingSessionsResponseBody,
24
24
  )
25
+ from ...types.coaching_sessions_response_response_body import CoachingSessionsResponseResponseBody
25
26
 
26
27
 
27
28
  class RawSessionsClient:
@@ -40,7 +41,7 @@ class RawSessionsClient:
40
41
  after: typing.Optional[str] = None,
41
42
  include_external_ids: typing.Optional[bool] = None,
42
43
  request_options: typing.Optional[RequestOptions] = None,
43
- ) -> HttpResponse[CoachingSessionsGetCoachingSessionsResponseBody]:
44
+ ) -> SyncPager[CoachingSessionsResponseResponseBody]:
44
45
  """
45
46
  This endpoint will return coaching sessions for your organization based on the time parameters passed in. Results are paginated by sessions. If you include an endTime, the endpoint will return data up until that point. 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.
46
47
 
@@ -82,7 +83,7 @@ class RawSessionsClient:
82
83
 
83
84
  Returns
84
85
  -------
85
- HttpResponse[CoachingSessionsGetCoachingSessionsResponseBody]
86
+ SyncPager[CoachingSessionsResponseResponseBody]
86
87
  OK response.
87
88
  """
88
89
  _response = self._client_wrapper.httpx_client.request(
@@ -102,14 +103,33 @@ class RawSessionsClient:
102
103
  )
103
104
  try:
104
105
  if 200 <= _response.status_code < 300:
105
- _data = typing.cast(
106
+ _parsed_response = typing.cast(
106
107
  CoachingSessionsGetCoachingSessionsResponseBody,
107
108
  parse_obj_as(
108
109
  type_=CoachingSessionsGetCoachingSessionsResponseBody, # type: ignore
109
110
  object_=_response.json(),
110
111
  ),
111
112
  )
112
- return HttpResponse(response=_response, data=_data)
113
+ _items = _parsed_response.data
114
+ _has_next = False
115
+ _get_next = None
116
+ if _parsed_response.pagination is not None:
117
+ _parsed_next = _parsed_response.pagination.end_cursor
118
+ _has_next = _parsed_next is not None and _parsed_next != ""
119
+ _get_next = lambda: self.stream(
120
+ start_time=start_time,
121
+ driver_ids=driver_ids,
122
+ coach_ids=coach_ids,
123
+ session_statuses=session_statuses,
124
+ include_coachable_events=include_coachable_events,
125
+ end_time=end_time,
126
+ after=_parsed_next,
127
+ include_external_ids=include_external_ids,
128
+ request_options=request_options,
129
+ )
130
+ return SyncPager(
131
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
132
+ )
113
133
  if _response.status_code == 401:
114
134
  raise UnauthorizedError(
115
135
  headers=dict(_response.headers),
@@ -231,7 +251,7 @@ class AsyncRawSessionsClient:
231
251
  after: typing.Optional[str] = None,
232
252
  include_external_ids: typing.Optional[bool] = None,
233
253
  request_options: typing.Optional[RequestOptions] = None,
234
- ) -> AsyncHttpResponse[CoachingSessionsGetCoachingSessionsResponseBody]:
254
+ ) -> AsyncPager[CoachingSessionsResponseResponseBody]:
235
255
  """
236
256
  This endpoint will return coaching sessions for your organization based on the time parameters passed in. Results are paginated by sessions. If you include an endTime, the endpoint will return data up until that point. 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.
237
257
 
@@ -273,7 +293,7 @@ class AsyncRawSessionsClient:
273
293
 
274
294
  Returns
275
295
  -------
276
- AsyncHttpResponse[CoachingSessionsGetCoachingSessionsResponseBody]
296
+ AsyncPager[CoachingSessionsResponseResponseBody]
277
297
  OK response.
278
298
  """
279
299
  _response = await self._client_wrapper.httpx_client.request(
@@ -293,14 +313,36 @@ class AsyncRawSessionsClient:
293
313
  )
294
314
  try:
295
315
  if 200 <= _response.status_code < 300:
296
- _data = typing.cast(
316
+ _parsed_response = typing.cast(
297
317
  CoachingSessionsGetCoachingSessionsResponseBody,
298
318
  parse_obj_as(
299
319
  type_=CoachingSessionsGetCoachingSessionsResponseBody, # type: ignore
300
320
  object_=_response.json(),
301
321
  ),
302
322
  )
303
- return AsyncHttpResponse(response=_response, data=_data)
323
+ _items = _parsed_response.data
324
+ _has_next = False
325
+ _get_next = None
326
+ if _parsed_response.pagination is not None:
327
+ _parsed_next = _parsed_response.pagination.end_cursor
328
+ _has_next = _parsed_next is not None and _parsed_next != ""
329
+
330
+ async def _get_next():
331
+ return await self.stream(
332
+ start_time=start_time,
333
+ driver_ids=driver_ids,
334
+ coach_ids=coach_ids,
335
+ session_statuses=session_statuses,
336
+ include_coachable_events=include_coachable_events,
337
+ end_time=end_time,
338
+ after=_parsed_next,
339
+ include_external_ids=include_external_ids,
340
+ request_options=request_options,
341
+ )
342
+
343
+ return AsyncPager(
344
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
345
+ )
304
346
  if _response.status_code == 401:
305
347
  raise UnauthorizedError(
306
348
  headers=dict(_response.headers),
@@ -3,9 +3,10 @@
3
3
  import typing
4
4
 
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
6
7
  from ..core.request_options import RequestOptions
8
+ from ..types.contact import Contact
7
9
  from ..types.contact_response import ContactResponse
8
- from ..types.list_contacts_response import ListContactsResponse
9
10
  from .raw_client import AsyncRawContactsClient, RawContactsClient
10
11
 
11
12
  # this is used as the default value for optional parameters
@@ -33,7 +34,7 @@ class ContactsClient:
33
34
  limit: typing.Optional[int] = None,
34
35
  after: typing.Optional[str] = None,
35
36
  request_options: typing.Optional[RequestOptions] = None,
36
- ) -> ListContactsResponse:
37
+ ) -> SyncPager[Contact]:
37
38
  """
38
39
  Returns a list of all contacts in an organization.
39
40
 
@@ -54,7 +55,7 @@ class ContactsClient:
54
55
 
55
56
  Returns
56
57
  -------
57
- ListContactsResponse
58
+ SyncPager[Contact]
58
59
  List of all contacts
59
60
 
60
61
  Examples
@@ -64,10 +65,14 @@ class ContactsClient:
64
65
  client = Samsara(
65
66
  token="YOUR_TOKEN",
66
67
  )
67
- client.contacts.list()
68
+ response = client.contacts.list()
69
+ for item in response:
70
+ yield item
71
+ # alternatively, you can paginate page-by-page
72
+ for page in response.iter_pages():
73
+ yield page
68
74
  """
69
- _response = self._raw_client.list(limit=limit, after=after, request_options=request_options)
70
- return _response.data
75
+ return self._raw_client.list(limit=limit, after=after, request_options=request_options)
71
76
 
72
77
  def create(
73
78
  self,
@@ -273,7 +278,7 @@ class AsyncContactsClient:
273
278
  limit: typing.Optional[int] = None,
274
279
  after: typing.Optional[str] = None,
275
280
  request_options: typing.Optional[RequestOptions] = None,
276
- ) -> ListContactsResponse:
281
+ ) -> AsyncPager[Contact]:
277
282
  """
278
283
  Returns a list of all contacts in an organization.
279
284
 
@@ -294,7 +299,7 @@ class AsyncContactsClient:
294
299
 
295
300
  Returns
296
301
  -------
297
- ListContactsResponse
302
+ AsyncPager[Contact]
298
303
  List of all contacts
299
304
 
300
305
  Examples
@@ -309,13 +314,18 @@ class AsyncContactsClient:
309
314
 
310
315
 
311
316
  async def main() -> None:
312
- await client.contacts.list()
317
+ response = await client.contacts.list()
318
+ async for item in response:
319
+ yield item
320
+
321
+ # alternatively, you can paginate page-by-page
322
+ async for page in response.iter_pages():
323
+ yield page
313
324
 
314
325
 
315
326
  asyncio.run(main())
316
327
  """
317
- _response = await self._raw_client.list(limit=limit, after=after, request_options=request_options)
318
- return _response.data
328
+ return await self._raw_client.list(limit=limit, after=after, request_options=request_options)
319
329
 
320
330
  async def create(
321
331
  self,
@@ -7,8 +7,10 @@ from ..core.api_error import ApiError
7
7
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
8
  from ..core.http_response import AsyncHttpResponse, HttpResponse
9
9
  from ..core.jsonable_encoder import jsonable_encoder
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
13
+ from ..types.contact import Contact
12
14
  from ..types.contact_response import ContactResponse
13
15
  from ..types.list_contacts_response import ListContactsResponse
14
16
 
@@ -26,7 +28,7 @@ class RawContactsClient:
26
28
  limit: typing.Optional[int] = None,
27
29
  after: typing.Optional[str] = None,
28
30
  request_options: typing.Optional[RequestOptions] = None,
29
- ) -> HttpResponse[ListContactsResponse]:
31
+ ) -> SyncPager[Contact]:
30
32
  """
31
33
  Returns a list of all contacts in an organization.
32
34
 
@@ -47,7 +49,7 @@ class RawContactsClient:
47
49
 
48
50
  Returns
49
51
  -------
50
- HttpResponse[ListContactsResponse]
52
+ SyncPager[Contact]
51
53
  List of all contacts
52
54
  """
53
55
  _response = self._client_wrapper.httpx_client.request(
@@ -61,14 +63,27 @@ class RawContactsClient:
61
63
  )
62
64
  try:
63
65
  if 200 <= _response.status_code < 300:
64
- _data = typing.cast(
66
+ _parsed_response = typing.cast(
65
67
  ListContactsResponse,
66
68
  parse_obj_as(
67
69
  type_=ListContactsResponse, # type: ignore
68
70
  object_=_response.json(),
69
71
  ),
70
72
  )
71
- return HttpResponse(response=_response, data=_data)
73
+ _items = _parsed_response.data
74
+ _has_next = False
75
+ _get_next = None
76
+ if _parsed_response.pagination is not None:
77
+ _parsed_next = _parsed_response.pagination.end_cursor
78
+ _has_next = _parsed_next is not None and _parsed_next != ""
79
+ _get_next = lambda: self.list(
80
+ limit=limit,
81
+ after=_parsed_next,
82
+ request_options=request_options,
83
+ )
84
+ return SyncPager(
85
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
86
+ )
72
87
  _response_json = _response.json()
73
88
  except JSONDecodeError:
74
89
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -311,7 +326,7 @@ class AsyncRawContactsClient:
311
326
  limit: typing.Optional[int] = None,
312
327
  after: typing.Optional[str] = None,
313
328
  request_options: typing.Optional[RequestOptions] = None,
314
- ) -> AsyncHttpResponse[ListContactsResponse]:
329
+ ) -> AsyncPager[Contact]:
315
330
  """
316
331
  Returns a list of all contacts in an organization.
317
332
 
@@ -332,7 +347,7 @@ class AsyncRawContactsClient:
332
347
 
333
348
  Returns
334
349
  -------
335
- AsyncHttpResponse[ListContactsResponse]
350
+ AsyncPager[Contact]
336
351
  List of all contacts
337
352
  """
338
353
  _response = await self._client_wrapper.httpx_client.request(
@@ -346,14 +361,30 @@ class AsyncRawContactsClient:
346
361
  )
347
362
  try:
348
363
  if 200 <= _response.status_code < 300:
349
- _data = typing.cast(
364
+ _parsed_response = typing.cast(
350
365
  ListContactsResponse,
351
366
  parse_obj_as(
352
367
  type_=ListContactsResponse, # type: ignore
353
368
  object_=_response.json(),
354
369
  ),
355
370
  )
356
- return AsyncHttpResponse(response=_response, data=_data)
371
+ _items = _parsed_response.data
372
+ _has_next = False
373
+ _get_next = None
374
+ if _parsed_response.pagination is not None:
375
+ _parsed_next = _parsed_response.pagination.end_cursor
376
+ _has_next = _parsed_next is not None and _parsed_next != ""
377
+
378
+ async def _get_next():
379
+ return await self.list(
380
+ limit=limit,
381
+ after=_parsed_next,
382
+ request_options=request_options,
383
+ )
384
+
385
+ return AsyncPager(
386
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
387
+ )
357
388
  _response_json = _response.json()
358
389
  except JSONDecodeError:
359
390
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -20,10 +20,10 @@ class BaseClientWrapper:
20
20
 
21
21
  def get_headers(self) -> typing.Dict[str, str]:
22
22
  headers: typing.Dict[str, str] = {
23
- "User-Agent": "samsara-api/0.0.1",
23
+ "User-Agent": "samsara-api/0.0.2",
24
24
  "X-Fern-Language": "Python",
25
25
  "X-Fern-SDK-Name": "samsara-api",
26
- "X-Fern-SDK-Version": "0.0.1",
26
+ "X-Fern-SDK-Version": "0.0.2",
27
27
  }
28
28
  headers["Authorization"] = f"Bearer {self._get_token()}"
29
29
  return headers
@@ -3,8 +3,9 @@
3
3
  import typing
4
4
 
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
6
7
  from ..core.request_options import RequestOptions
7
- from ..types.dvir_defect_type_get_defect_types_response_body import DvirDefectTypeGetDefectTypesResponseBody
8
+ from ..types.defect_types_response_data_response_body import DefectTypesResponseDataResponseBody
8
9
  from .raw_client import AsyncRawDefectTypesClient, RawDefectTypesClient
9
10
 
10
11
 
@@ -30,7 +31,7 @@ class DefectTypesClient:
30
31
  limit: typing.Optional[int] = None,
31
32
  ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
32
33
  request_options: typing.Optional[RequestOptions] = None,
33
- ) -> DvirDefectTypeGetDefectTypesResponseBody:
34
+ ) -> SyncPager[DefectTypesResponseDataResponseBody]:
34
35
  """
35
36
  Get DVIR defect types.
36
37
 
@@ -57,7 +58,7 @@ class DefectTypesClient:
57
58
 
58
59
  Returns
59
60
  -------
60
- DvirDefectTypeGetDefectTypesResponseBody
61
+ SyncPager[DefectTypesResponseDataResponseBody]
61
62
  OK response.
62
63
 
63
64
  Examples
@@ -67,10 +68,14 @@ class DefectTypesClient:
67
68
  client = Samsara(
68
69
  token="YOUR_TOKEN",
69
70
  )
70
- client.defect_types.list()
71
+ response = client.defect_types.list()
72
+ for item in response:
73
+ yield item
74
+ # alternatively, you can paginate page-by-page
75
+ for page in response.iter_pages():
76
+ yield page
71
77
  """
72
- _response = self._raw_client.list(after=after, limit=limit, ids=ids, request_options=request_options)
73
- return _response.data
78
+ return self._raw_client.list(after=after, limit=limit, ids=ids, request_options=request_options)
74
79
 
75
80
 
76
81
  class AsyncDefectTypesClient:
@@ -95,7 +100,7 @@ class AsyncDefectTypesClient:
95
100
  limit: typing.Optional[int] = None,
96
101
  ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
97
102
  request_options: typing.Optional[RequestOptions] = None,
98
- ) -> DvirDefectTypeGetDefectTypesResponseBody:
103
+ ) -> AsyncPager[DefectTypesResponseDataResponseBody]:
99
104
  """
100
105
  Get DVIR defect types.
101
106
 
@@ -122,7 +127,7 @@ class AsyncDefectTypesClient:
122
127
 
123
128
  Returns
124
129
  -------
125
- DvirDefectTypeGetDefectTypesResponseBody
130
+ AsyncPager[DefectTypesResponseDataResponseBody]
126
131
  OK response.
127
132
 
128
133
  Examples
@@ -137,10 +142,15 @@ class AsyncDefectTypesClient:
137
142
 
138
143
 
139
144
  async def main() -> None:
140
- await client.defect_types.list()
145
+ response = await client.defect_types.list()
146
+ async for item in response:
147
+ yield item
148
+
149
+ # alternatively, you can paginate page-by-page
150
+ async for page in response.iter_pages():
151
+ yield page
141
152
 
142
153
 
143
154
  asyncio.run(main())
144
155
  """
145
- _response = await self._raw_client.list(after=after, limit=limit, ids=ids, request_options=request_options)
146
- return _response.data
156
+ return await self._raw_client.list(after=after, limit=limit, ids=ids, request_options=request_options)
@@ -5,7 +5,7 @@ from json.decoder import JSONDecodeError
5
5
 
6
6
  from ..core.api_error import ApiError
7
7
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
- from ..core.http_response import AsyncHttpResponse, HttpResponse
8
+ from ..core.pagination import AsyncPager, BaseHttpResponse, SyncPager
9
9
  from ..core.pydantic_utilities import parse_obj_as
10
10
  from ..core.request_options import RequestOptions
11
11
  from ..errors.bad_gateway_error import BadGatewayError
@@ -17,6 +17,7 @@ from ..errors.not_implemented_error import NotImplementedError
17
17
  from ..errors.service_unavailable_error import ServiceUnavailableError
18
18
  from ..errors.too_many_requests_error import TooManyRequestsError
19
19
  from ..errors.unauthorized_error import UnauthorizedError
20
+ from ..types.defect_types_response_data_response_body import DefectTypesResponseDataResponseBody
20
21
  from ..types.dvir_defect_type_get_defect_types_response_body import DvirDefectTypeGetDefectTypesResponseBody
21
22
 
22
23
 
@@ -31,7 +32,7 @@ class RawDefectTypesClient:
31
32
  limit: typing.Optional[int] = None,
32
33
  ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
33
34
  request_options: typing.Optional[RequestOptions] = None,
34
- ) -> HttpResponse[DvirDefectTypeGetDefectTypesResponseBody]:
35
+ ) -> SyncPager[DefectTypesResponseDataResponseBody]:
35
36
  """
36
37
  Get DVIR defect types.
37
38
 
@@ -58,7 +59,7 @@ class RawDefectTypesClient:
58
59
 
59
60
  Returns
60
61
  -------
61
- HttpResponse[DvirDefectTypeGetDefectTypesResponseBody]
62
+ SyncPager[DefectTypesResponseDataResponseBody]
62
63
  OK response.
63
64
  """
64
65
  _response = self._client_wrapper.httpx_client.request(
@@ -73,14 +74,28 @@ class RawDefectTypesClient:
73
74
  )
74
75
  try:
75
76
  if 200 <= _response.status_code < 300:
76
- _data = typing.cast(
77
+ _parsed_response = typing.cast(
77
78
  DvirDefectTypeGetDefectTypesResponseBody,
78
79
  parse_obj_as(
79
80
  type_=DvirDefectTypeGetDefectTypesResponseBody, # type: ignore
80
81
  object_=_response.json(),
81
82
  ),
82
83
  )
83
- return HttpResponse(response=_response, data=_data)
84
+ _items = _parsed_response.data
85
+ _has_next = False
86
+ _get_next = None
87
+ if _parsed_response.pagination is not None:
88
+ _parsed_next = _parsed_response.pagination.end_cursor
89
+ _has_next = _parsed_next is not None and _parsed_next != ""
90
+ _get_next = lambda: self.list(
91
+ after=_parsed_next,
92
+ limit=limit,
93
+ ids=ids,
94
+ request_options=request_options,
95
+ )
96
+ return SyncPager(
97
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
98
+ )
84
99
  if _response.status_code == 401:
85
100
  raise UnauthorizedError(
86
101
  headers=dict(_response.headers),
@@ -197,7 +212,7 @@ class AsyncRawDefectTypesClient:
197
212
  limit: typing.Optional[int] = None,
198
213
  ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
199
214
  request_options: typing.Optional[RequestOptions] = None,
200
- ) -> AsyncHttpResponse[DvirDefectTypeGetDefectTypesResponseBody]:
215
+ ) -> AsyncPager[DefectTypesResponseDataResponseBody]:
201
216
  """
202
217
  Get DVIR defect types.
203
218
 
@@ -224,7 +239,7 @@ class AsyncRawDefectTypesClient:
224
239
 
225
240
  Returns
226
241
  -------
227
- AsyncHttpResponse[DvirDefectTypeGetDefectTypesResponseBody]
242
+ AsyncPager[DefectTypesResponseDataResponseBody]
228
243
  OK response.
229
244
  """
230
245
  _response = await self._client_wrapper.httpx_client.request(
@@ -239,14 +254,31 @@ class AsyncRawDefectTypesClient:
239
254
  )
240
255
  try:
241
256
  if 200 <= _response.status_code < 300:
242
- _data = typing.cast(
257
+ _parsed_response = typing.cast(
243
258
  DvirDefectTypeGetDefectTypesResponseBody,
244
259
  parse_obj_as(
245
260
  type_=DvirDefectTypeGetDefectTypesResponseBody, # type: ignore
246
261
  object_=_response.json(),
247
262
  ),
248
263
  )
249
- return AsyncHttpResponse(response=_response, data=_data)
264
+ _items = _parsed_response.data
265
+ _has_next = False
266
+ _get_next = None
267
+ if _parsed_response.pagination is not None:
268
+ _parsed_next = _parsed_response.pagination.end_cursor
269
+ _has_next = _parsed_next is not None and _parsed_next != ""
270
+
271
+ async def _get_next():
272
+ return await self.list(
273
+ after=_parsed_next,
274
+ limit=limit,
275
+ ids=ids,
276
+ request_options=request_options,
277
+ )
278
+
279
+ return AsyncPager(
280
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
281
+ )
250
282
  if _response.status_code == 401:
251
283
  raise UnauthorizedError(
252
284
  headers=dict(_response.headers),