mergepythonclient 3.1.0__py3-none-any.whl → 4.0.0__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 (1458) hide show
  1. merge/__init__.py +4 -2
  2. merge/client.py +11 -0
  3. merge/core/__init__.py +25 -3
  4. merge/core/client_wrapper.py +35 -4
  5. merge/core/datetime_utils.py +42 -0
  6. merge/core/enum.py +20 -0
  7. merge/core/http_client.py +361 -128
  8. merge/core/http_response.py +5 -1
  9. merge/core/http_sse/__init__.py +42 -0
  10. merge/core/http_sse/_api.py +112 -0
  11. merge/core/http_sse/_decoders.py +61 -0
  12. merge/core/http_sse/_exceptions.py +7 -0
  13. merge/core/http_sse/_models.py +17 -0
  14. merge/core/jsonable_encoder.py +8 -0
  15. merge/core/logging.py +107 -0
  16. merge/core/parse_error.py +36 -0
  17. merge/core/pydantic_utilities.py +310 -21
  18. merge/core/unchecked_base_model.py +157 -17
  19. merge/resources/__init__.py +14 -12
  20. merge/resources/accounting/__init__.py +4 -2
  21. merge/resources/accounting/resources/__init__.py +53 -51
  22. merge/resources/accounting/resources/account_details/raw_client.py +10 -0
  23. merge/resources/accounting/resources/account_token/raw_client.py +18 -0
  24. merge/resources/accounting/resources/accounting_periods/raw_client.py +18 -0
  25. merge/resources/accounting/resources/accounts/__init__.py +4 -2
  26. merge/resources/accounting/resources/accounts/raw_client.py +34 -0
  27. merge/resources/accounting/resources/accounts/types/__init__.py +4 -2
  28. merge/resources/accounting/resources/accounts/types/accounts_list_request_classification.py +3 -2
  29. merge/resources/accounting/resources/accounts/types/accounts_list_request_remote_fields.py +3 -2
  30. merge/resources/accounting/resources/accounts/types/accounts_list_request_show_enum_origins.py +3 -2
  31. merge/resources/accounting/resources/accounts/types/accounts_list_request_status.py +3 -2
  32. merge/resources/accounting/resources/accounts/types/accounts_retrieve_request_remote_fields.py +3 -2
  33. merge/resources/accounting/resources/accounts/types/accounts_retrieve_request_show_enum_origins.py +3 -2
  34. merge/resources/accounting/resources/addresses/raw_client.py +10 -0
  35. merge/resources/accounting/resources/async_passthrough/__init__.py +4 -2
  36. merge/resources/accounting/resources/async_passthrough/raw_client.py +18 -0
  37. merge/resources/accounting/resources/async_passthrough/types/__init__.py +4 -2
  38. merge/resources/accounting/resources/async_tasks/raw_client.py +10 -0
  39. merge/resources/accounting/resources/attachments/raw_client.py +34 -0
  40. merge/resources/accounting/resources/audit_trail/raw_client.py +10 -0
  41. merge/resources/accounting/resources/available_actions/raw_client.py +10 -0
  42. merge/resources/accounting/resources/balance_sheets/raw_client.py +18 -0
  43. merge/resources/accounting/resources/bank_feed_accounts/raw_client.py +34 -0
  44. merge/resources/accounting/resources/bank_feed_transactions/raw_client.py +34 -0
  45. merge/resources/accounting/resources/cash_flow_statements/raw_client.py +18 -0
  46. merge/resources/accounting/resources/company_info/__init__.py +4 -2
  47. merge/resources/accounting/resources/company_info/raw_client.py +18 -0
  48. merge/resources/accounting/resources/company_info/types/__init__.py +4 -2
  49. merge/resources/accounting/resources/company_info/types/company_info_list_request_expand_item.py +3 -2
  50. merge/resources/accounting/resources/company_info/types/company_info_retrieve_request_expand_item.py +3 -2
  51. merge/resources/accounting/resources/contacts/__init__.py +4 -2
  52. merge/resources/accounting/resources/contacts/raw_client.py +58 -0
  53. merge/resources/accounting/resources/contacts/types/__init__.py +4 -2
  54. merge/resources/accounting/resources/contacts/types/contacts_list_request_expand_item.py +3 -2
  55. merge/resources/accounting/resources/contacts/types/contacts_list_request_status.py +3 -2
  56. merge/resources/accounting/resources/contacts/types/contacts_retrieve_request_expand_item.py +3 -2
  57. merge/resources/accounting/resources/credit_notes/__init__.py +4 -2
  58. merge/resources/accounting/resources/credit_notes/raw_client.py +58 -0
  59. merge/resources/accounting/resources/credit_notes/types/__init__.py +4 -2
  60. merge/resources/accounting/resources/credit_notes/types/credit_notes_list_request_expand_item.py +3 -2
  61. merge/resources/accounting/resources/credit_notes/types/credit_notes_list_request_remote_fields.py +3 -2
  62. merge/resources/accounting/resources/credit_notes/types/credit_notes_list_request_show_enum_origins.py +3 -2
  63. merge/resources/accounting/resources/credit_notes/types/credit_notes_retrieve_request_expand_item.py +3 -2
  64. merge/resources/accounting/resources/credit_notes/types/credit_notes_retrieve_request_remote_fields.py +3 -2
  65. merge/resources/accounting/resources/credit_notes/types/credit_notes_retrieve_request_show_enum_origins.py +3 -2
  66. merge/resources/accounting/resources/delete_account/raw_client.py +10 -0
  67. merge/resources/accounting/resources/employees/raw_client.py +18 -0
  68. merge/resources/accounting/resources/expense_reports/__init__.py +4 -2
  69. merge/resources/accounting/resources/expense_reports/raw_client.py +58 -0
  70. merge/resources/accounting/resources/expense_reports/types/__init__.py +4 -2
  71. merge/resources/accounting/resources/expense_reports/types/expense_reports_lines_list_request_expand_item.py +3 -2
  72. merge/resources/accounting/resources/expense_reports/types/expense_reports_list_request_expand_item.py +3 -2
  73. merge/resources/accounting/resources/expense_reports/types/expense_reports_retrieve_request_expand_item.py +3 -2
  74. merge/resources/accounting/resources/expenses/__init__.py +4 -2
  75. merge/resources/accounting/resources/expenses/raw_client.py +66 -0
  76. merge/resources/accounting/resources/expenses/types/__init__.py +4 -2
  77. merge/resources/accounting/resources/expenses/types/expenses_list_request_expand_item.py +3 -2
  78. merge/resources/accounting/resources/expenses/types/expenses_retrieve_request_expand_item.py +3 -2
  79. merge/resources/accounting/resources/field_mapping/client.py +8 -8
  80. merge/resources/accounting/resources/field_mapping/raw_client.py +58 -8
  81. merge/resources/accounting/resources/force_resync/raw_client.py +10 -0
  82. merge/resources/accounting/resources/general_ledger_transactions/__init__.py +4 -2
  83. merge/resources/accounting/resources/general_ledger_transactions/raw_client.py +18 -0
  84. merge/resources/accounting/resources/general_ledger_transactions/types/__init__.py +4 -2
  85. merge/resources/accounting/resources/general_ledger_transactions/types/general_ledger_transactions_list_request_expand_item.py +3 -2
  86. merge/resources/accounting/resources/general_ledger_transactions/types/general_ledger_transactions_retrieve_request_expand_item.py +3 -2
  87. merge/resources/accounting/resources/generate_key/raw_client.py +10 -0
  88. merge/resources/accounting/resources/income_statements/raw_client.py +18 -0
  89. merge/resources/accounting/resources/invoices/__init__.py +4 -2
  90. merge/resources/accounting/resources/invoices/raw_client.py +82 -0
  91. merge/resources/accounting/resources/invoices/types/__init__.py +4 -2
  92. merge/resources/accounting/resources/invoices/types/invoices_list_request_expand_item.py +3 -2
  93. merge/resources/accounting/resources/invoices/types/invoices_list_request_status.py +3 -2
  94. merge/resources/accounting/resources/invoices/types/invoices_list_request_type.py +3 -2
  95. merge/resources/accounting/resources/invoices/types/invoices_retrieve_request_expand_item.py +3 -2
  96. merge/resources/accounting/resources/issues/__init__.py +4 -2
  97. merge/resources/accounting/resources/issues/raw_client.py +18 -0
  98. merge/resources/accounting/resources/issues/types/__init__.py +4 -2
  99. merge/resources/accounting/resources/issues/types/issues_list_request_status.py +3 -2
  100. merge/resources/accounting/resources/item_fulfillments/__init__.py +4 -2
  101. merge/resources/accounting/resources/item_fulfillments/raw_client.py +66 -0
  102. merge/resources/accounting/resources/item_fulfillments/types/__init__.py +4 -2
  103. merge/resources/accounting/resources/item_fulfillments/types/item_fulfillments_list_request_expand_item.py +3 -2
  104. merge/resources/accounting/resources/item_fulfillments/types/item_fulfillments_retrieve_request_expand_item.py +3 -2
  105. merge/resources/accounting/resources/items/__init__.py +4 -2
  106. merge/resources/accounting/resources/items/raw_client.py +50 -0
  107. merge/resources/accounting/resources/items/types/__init__.py +4 -2
  108. merge/resources/accounting/resources/items/types/items_list_request_expand_item.py +3 -2
  109. merge/resources/accounting/resources/items/types/items_retrieve_request_expand_item.py +3 -2
  110. merge/resources/accounting/resources/journal_entries/__init__.py +4 -2
  111. merge/resources/accounting/resources/journal_entries/raw_client.py +50 -0
  112. merge/resources/accounting/resources/journal_entries/types/__init__.py +4 -2
  113. merge/resources/accounting/resources/journal_entries/types/journal_entries_list_request_expand_item.py +3 -2
  114. merge/resources/accounting/resources/journal_entries/types/journal_entries_retrieve_request_expand_item.py +3 -2
  115. merge/resources/accounting/resources/link_token/__init__.py +4 -2
  116. merge/resources/accounting/resources/link_token/client.py +4 -4
  117. merge/resources/accounting/resources/link_token/raw_client.py +14 -4
  118. merge/resources/accounting/resources/link_token/types/__init__.py +4 -2
  119. merge/resources/accounting/resources/linked_accounts/__init__.py +4 -2
  120. merge/resources/accounting/resources/linked_accounts/raw_client.py +10 -0
  121. merge/resources/accounting/resources/linked_accounts/types/__init__.py +4 -2
  122. merge/resources/accounting/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  123. merge/resources/accounting/resources/passthrough/raw_client.py +10 -0
  124. merge/resources/accounting/resources/payment_methods/raw_client.py +18 -0
  125. merge/resources/accounting/resources/payment_terms/raw_client.py +18 -0
  126. merge/resources/accounting/resources/payments/__init__.py +4 -2
  127. merge/resources/accounting/resources/payments/raw_client.py +66 -0
  128. merge/resources/accounting/resources/payments/types/__init__.py +4 -2
  129. merge/resources/accounting/resources/payments/types/payments_list_request_expand_item.py +3 -2
  130. merge/resources/accounting/resources/payments/types/payments_retrieve_request_expand_item.py +3 -2
  131. merge/resources/accounting/resources/phone_numbers/raw_client.py +10 -0
  132. merge/resources/accounting/resources/projects/__init__.py +4 -2
  133. merge/resources/accounting/resources/projects/raw_client.py +18 -0
  134. merge/resources/accounting/resources/projects/types/__init__.py +4 -2
  135. merge/resources/accounting/resources/projects/types/projects_list_request_expand_item.py +3 -2
  136. merge/resources/accounting/resources/projects/types/projects_retrieve_request_expand_item.py +3 -2
  137. merge/resources/accounting/resources/purchase_orders/__init__.py +4 -2
  138. merge/resources/accounting/resources/purchase_orders/raw_client.py +50 -0
  139. merge/resources/accounting/resources/purchase_orders/types/__init__.py +4 -2
  140. merge/resources/accounting/resources/purchase_orders/types/purchase_orders_list_request_expand_item.py +3 -2
  141. merge/resources/accounting/resources/purchase_orders/types/purchase_orders_retrieve_request_expand_item.py +3 -2
  142. merge/resources/accounting/resources/regenerate_key/raw_client.py +10 -0
  143. merge/resources/accounting/resources/sales_orders/__init__.py +4 -2
  144. merge/resources/accounting/resources/sales_orders/raw_client.py +66 -0
  145. merge/resources/accounting/resources/sales_orders/types/__init__.py +4 -2
  146. merge/resources/accounting/resources/sales_orders/types/sales_orders_list_request_expand_item.py +3 -2
  147. merge/resources/accounting/resources/sales_orders/types/sales_orders_retrieve_request_expand_item.py +3 -2
  148. merge/resources/accounting/resources/scopes/raw_client.py +26 -0
  149. merge/resources/accounting/resources/sync_status/raw_client.py +10 -0
  150. merge/resources/accounting/resources/tax_rates/raw_client.py +18 -0
  151. merge/resources/accounting/resources/tracking_categories/__init__.py +4 -2
  152. merge/resources/accounting/resources/tracking_categories/raw_client.py +18 -0
  153. merge/resources/accounting/resources/tracking_categories/types/__init__.py +4 -2
  154. merge/resources/accounting/resources/tracking_categories/types/tracking_categories_list_request_category_type.py +3 -2
  155. merge/resources/accounting/resources/tracking_categories/types/tracking_categories_list_request_status.py +3 -2
  156. merge/resources/accounting/resources/transactions/__init__.py +4 -2
  157. merge/resources/accounting/resources/transactions/raw_client.py +18 -0
  158. merge/resources/accounting/resources/transactions/types/__init__.py +4 -2
  159. merge/resources/accounting/resources/transactions/types/transactions_list_request_expand_item.py +3 -2
  160. merge/resources/accounting/resources/transactions/types/transactions_retrieve_request_expand_item.py +3 -2
  161. merge/resources/accounting/resources/vendor_credits/__init__.py +4 -2
  162. merge/resources/accounting/resources/vendor_credits/raw_client.py +58 -0
  163. merge/resources/accounting/resources/vendor_credits/types/__init__.py +4 -2
  164. merge/resources/accounting/resources/vendor_credits/types/vendor_credits_list_request_expand_item.py +3 -2
  165. merge/resources/accounting/resources/vendor_credits/types/vendor_credits_retrieve_request_expand_item.py +3 -2
  166. merge/resources/accounting/resources/webhook_receivers/raw_client.py +18 -0
  167. merge/resources/accounting/types/__init__.py +4 -2
  168. merge/resources/accounting/types/account.py +1 -1
  169. merge/resources/accounting/types/account_account_type_enum.py +3 -2
  170. merge/resources/accounting/types/account_details_and_actions.py +1 -1
  171. merge/resources/accounting/types/account_details_and_actions_status_enum.py +3 -2
  172. merge/resources/accounting/types/account_integration.py +2 -4
  173. merge/resources/accounting/types/account_request.py +2 -2
  174. merge/resources/accounting/types/account_status_enum.py +3 -2
  175. merge/resources/accounting/types/accounting_attachment.py +1 -1
  176. merge/resources/accounting/types/accounting_attachment_request.py +2 -2
  177. merge/resources/accounting/types/accounting_period.py +1 -1
  178. merge/resources/accounting/types/accounting_phone_number_request.py +2 -2
  179. merge/resources/accounting/types/address.py +1 -1
  180. merge/resources/accounting/types/address_request.py +2 -2
  181. merge/resources/accounting/types/address_type_enum.py +3 -2
  182. merge/resources/accounting/types/advanced_metadata.py +1 -1
  183. merge/resources/accounting/types/async_post_task_result.py +1 -1
  184. merge/resources/accounting/types/async_post_task_status_enum.py +3 -2
  185. merge/resources/accounting/types/balance_sheet.py +1 -1
  186. merge/resources/accounting/types/bank_feed_account.py +1 -1
  187. merge/resources/accounting/types/bank_feed_account_account_type_enum.py +3 -2
  188. merge/resources/accounting/types/bank_feed_account_request.py +2 -2
  189. merge/resources/accounting/types/bank_feed_transaction_request_request.py +2 -2
  190. merge/resources/accounting/types/batch_object_status_enum.py +3 -2
  191. merge/resources/accounting/types/batch_objects_response_status_enum.py +3 -2
  192. merge/resources/accounting/types/cash_flow_statement.py +1 -1
  193. merge/resources/accounting/types/categories_enum.py +3 -2
  194. merge/resources/accounting/types/category_enum.py +3 -2
  195. merge/resources/accounting/types/category_type_enum.py +3 -2
  196. merge/resources/accounting/types/classification_enum.py +3 -2
  197. merge/resources/accounting/types/company_info.py +1 -1
  198. merge/resources/accounting/types/completed_account_initial_screen_enum.py +3 -0
  199. merge/resources/accounting/types/component_type_enum.py +3 -2
  200. merge/resources/accounting/types/contact.py +1 -1
  201. merge/resources/accounting/types/contact_request.py +2 -2
  202. merge/resources/accounting/types/country_enum.py +3 -2
  203. merge/resources/accounting/types/credit_note.py +29 -9
  204. merge/resources/accounting/types/credit_note_apply_line_for_credit_note.py +28 -9
  205. merge/resources/accounting/types/credit_note_apply_line_for_credit_note_request.py +2 -10
  206. merge/resources/accounting/types/credit_note_apply_line_for_invoice.py +28 -9
  207. merge/resources/accounting/types/credit_note_line_item_request.py +2 -2
  208. merge/resources/accounting/types/credit_note_request.py +2 -10
  209. merge/resources/accounting/types/credit_note_response.py +30 -9
  210. merge/resources/accounting/types/credit_note_status_enum.py +3 -2
  211. merge/resources/accounting/types/credit_or_debit_enum.py +3 -2
  212. merge/resources/accounting/types/data_passthrough_request.py +1 -1
  213. merge/resources/accounting/types/employee.py +1 -1
  214. merge/resources/accounting/types/enabled_actions_enum.py +3 -2
  215. merge/resources/accounting/types/encoding_enum.py +3 -2
  216. merge/resources/accounting/types/event_type_enum.py +3 -2
  217. merge/resources/accounting/types/expense.py +1 -1
  218. merge/resources/accounting/types/expense_line_request.py +2 -2
  219. merge/resources/accounting/types/expense_report.py +1 -1
  220. merge/resources/accounting/types/expense_report_line_request.py +2 -2
  221. merge/resources/accounting/types/expense_report_request.py +2 -2
  222. merge/resources/accounting/types/expense_report_status_enum.py +3 -2
  223. merge/resources/accounting/types/expense_request.py +2 -2
  224. merge/resources/accounting/types/external_target_field_api_response.py +140 -62
  225. merge/resources/accounting/types/feed_status_enum.py +3 -2
  226. merge/resources/accounting/types/field_format_enum.py +3 -2
  227. merge/resources/accounting/types/field_mapping_api_instance_remote_field.py +5 -3
  228. merge/resources/accounting/types/field_mapping_api_instance_response.py +140 -66
  229. merge/resources/accounting/types/field_permission_deserializer.py +2 -2
  230. merge/resources/accounting/types/field_permission_deserializer_request.py +2 -2
  231. merge/resources/accounting/types/field_type_enum.py +3 -2
  232. merge/resources/accounting/types/general_ledger_transaction.py +1 -1
  233. merge/resources/accounting/types/general_ledger_transaction_line.py +1 -1
  234. merge/resources/accounting/types/income_statement.py +1 -1
  235. merge/resources/accounting/types/invoice.py +29 -11
  236. merge/resources/accounting/types/invoice_line_item.py +1 -1
  237. merge/resources/accounting/types/invoice_line_item_request.py +2 -2
  238. merge/resources/accounting/types/invoice_request.py +2 -2
  239. merge/resources/accounting/types/invoice_response.py +30 -9
  240. merge/resources/accounting/types/invoice_status_enum.py +3 -2
  241. merge/resources/accounting/types/invoice_type_enum.py +3 -2
  242. merge/resources/accounting/types/issue.py +1 -1
  243. merge/resources/accounting/types/issue_status_enum.py +3 -2
  244. merge/resources/accounting/types/item.py +1 -1
  245. merge/resources/accounting/types/item_format_enum.py +3 -2
  246. merge/resources/accounting/types/item_fulfillment.py +1 -1
  247. merge/resources/accounting/types/item_fulfillment_line_request.py +2 -2
  248. merge/resources/accounting/types/item_fulfillment_request_request.py +2 -2
  249. merge/resources/accounting/types/item_fulfillment_status_enum.py +3 -2
  250. merge/resources/accounting/types/item_request_request.py +2 -2
  251. merge/resources/accounting/types/item_type_enum.py +3 -2
  252. merge/resources/accounting/types/journal_entry.py +1 -1
  253. merge/resources/accounting/types/journal_entry_request.py +2 -2
  254. merge/resources/accounting/types/journal_line_request.py +2 -2
  255. merge/resources/accounting/types/language_enum.py +3 -2
  256. merge/resources/accounting/types/last_sync_result_enum.py +3 -2
  257. merge/resources/accounting/types/meta_response.py +1 -1
  258. merge/resources/accounting/types/method_enum.py +3 -2
  259. merge/resources/accounting/types/method_type_enum.py +3 -2
  260. merge/resources/accounting/types/paginated_credit_note_list.py +30 -9
  261. merge/resources/accounting/types/paginated_invoice_list.py +30 -9
  262. merge/resources/accounting/types/paginated_vendor_credit_list.py +30 -9
  263. merge/resources/accounting/types/patched_contact_request.py +2 -2
  264. merge/resources/accounting/types/patched_item_request_request.py +2 -2
  265. merge/resources/accounting/types/patched_payment_request.py +2 -2
  266. merge/resources/accounting/types/patched_vendor_credit_request.py +2 -2
  267. merge/resources/accounting/types/payment.py +1 -1
  268. merge/resources/accounting/types/payment_line_item_request.py +2 -2
  269. merge/resources/accounting/types/payment_method.py +1 -1
  270. merge/resources/accounting/types/payment_request.py +2 -2
  271. merge/resources/accounting/types/payment_term.py +1 -1
  272. merge/resources/accounting/types/payment_type_enum.py +3 -2
  273. merge/resources/accounting/types/posting_status_enum.py +3 -2
  274. merge/resources/accounting/types/project.py +1 -1
  275. merge/resources/accounting/types/purchase_order.py +1 -1
  276. merge/resources/accounting/types/purchase_order_line_item_request.py +2 -2
  277. merge/resources/accounting/types/purchase_order_request.py +2 -2
  278. merge/resources/accounting/types/purchase_order_status_enum.py +3 -2
  279. merge/resources/accounting/types/remote_data.py +1 -1
  280. merge/resources/accounting/types/remote_endpoint_info.py +1 -1
  281. merge/resources/accounting/types/remote_field.py +1 -1
  282. merge/resources/accounting/types/remote_field_api.py +6 -2
  283. merge/resources/accounting/types/remote_field_api_response.py +124 -44
  284. merge/resources/accounting/types/remote_field_request.py +1 -1
  285. merge/resources/accounting/types/remote_response.py +3 -3
  286. merge/resources/accounting/types/report_item.py +1 -1
  287. merge/resources/accounting/types/request_format_enum.py +3 -2
  288. merge/resources/accounting/types/response_type_enum.py +3 -2
  289. merge/resources/accounting/types/role_enum.py +3 -2
  290. merge/resources/accounting/types/sales_order.py +1 -1
  291. merge/resources/accounting/types/sales_order_line_request.py +2 -2
  292. merge/resources/accounting/types/sales_order_request_request.py +2 -2
  293. merge/resources/accounting/types/sales_order_status_enum.py +3 -2
  294. merge/resources/accounting/types/selective_sync_configurations_usage_enum.py +3 -2
  295. merge/resources/accounting/types/status_7_d_1_enum.py +3 -2
  296. merge/resources/accounting/types/status_895_enum.py +3 -2
  297. merge/resources/accounting/types/status_fd_5_enum.py +3 -2
  298. merge/resources/accounting/types/tax_rate.py +1 -1
  299. merge/resources/accounting/types/tracking_category.py +1 -1
  300. merge/resources/accounting/types/transaction.py +1 -1
  301. merge/resources/accounting/types/transaction_currency_enum.py +3 -2
  302. merge/resources/accounting/types/type_2_bb_enum.py +3 -2
  303. merge/resources/accounting/types/underlying_transaction_type_enum.py +3 -2
  304. merge/resources/accounting/types/vendor_credit.py +28 -8
  305. merge/resources/accounting/types/vendor_credit_apply_line_for_invoice.py +28 -9
  306. merge/resources/accounting/types/vendor_credit_apply_line_for_vendor_credit.py +28 -9
  307. merge/resources/accounting/types/vendor_credit_apply_line_for_vendor_credit_request.py +2 -10
  308. merge/resources/accounting/types/vendor_credit_line_request.py +2 -2
  309. merge/resources/accounting/types/vendor_credit_request.py +2 -10
  310. merge/resources/accounting/types/vendor_credit_response.py +30 -9
  311. merge/resources/ats/__init__.py +4 -2
  312. merge/resources/ats/resources/__init__.py +37 -35
  313. merge/resources/ats/resources/account_details/raw_client.py +10 -0
  314. merge/resources/ats/resources/account_token/raw_client.py +18 -0
  315. merge/resources/ats/resources/activities/__init__.py +4 -2
  316. merge/resources/ats/resources/activities/raw_client.py +34 -0
  317. merge/resources/ats/resources/activities/types/__init__.py +4 -2
  318. merge/resources/ats/resources/activities/types/activities_list_request_remote_fields.py +3 -2
  319. merge/resources/ats/resources/activities/types/activities_list_request_show_enum_origins.py +3 -2
  320. merge/resources/ats/resources/activities/types/activities_retrieve_request_remote_fields.py +3 -2
  321. merge/resources/ats/resources/activities/types/activities_retrieve_request_show_enum_origins.py +3 -2
  322. merge/resources/ats/resources/applications/__init__.py +4 -2
  323. merge/resources/ats/resources/applications/raw_client.py +42 -0
  324. merge/resources/ats/resources/applications/types/__init__.py +4 -2
  325. merge/resources/ats/resources/applications/types/applications_list_request_expand_item.py +3 -2
  326. merge/resources/ats/resources/applications/types/applications_retrieve_request_expand_item.py +3 -2
  327. merge/resources/ats/resources/async_passthrough/__init__.py +4 -2
  328. merge/resources/ats/resources/async_passthrough/raw_client.py +18 -0
  329. merge/resources/ats/resources/async_passthrough/types/__init__.py +4 -2
  330. merge/resources/ats/resources/attachments/raw_client.py +34 -0
  331. merge/resources/ats/resources/audit_trail/raw_client.py +10 -0
  332. merge/resources/ats/resources/available_actions/raw_client.py +10 -0
  333. merge/resources/ats/resources/candidates/__init__.py +4 -2
  334. merge/resources/ats/resources/candidates/raw_client.py +58 -0
  335. merge/resources/ats/resources/candidates/types/__init__.py +4 -2
  336. merge/resources/ats/resources/candidates/types/candidates_list_request_expand_item.py +3 -2
  337. merge/resources/ats/resources/candidates/types/candidates_retrieve_request_expand_item.py +3 -2
  338. merge/resources/ats/resources/delete_account/raw_client.py +10 -0
  339. merge/resources/ats/resources/departments/raw_client.py +18 -0
  340. merge/resources/ats/resources/eeocs/__init__.py +4 -2
  341. merge/resources/ats/resources/eeocs/raw_client.py +18 -0
  342. merge/resources/ats/resources/eeocs/types/__init__.py +4 -2
  343. merge/resources/ats/resources/eeocs/types/eeocs_list_request_remote_fields.py +3 -2
  344. merge/resources/ats/resources/eeocs/types/eeocs_list_request_show_enum_origins.py +3 -2
  345. merge/resources/ats/resources/eeocs/types/eeocs_retrieve_request_remote_fields.py +3 -2
  346. merge/resources/ats/resources/eeocs/types/eeocs_retrieve_request_show_enum_origins.py +3 -2
  347. merge/resources/ats/resources/field_mapping/client.py +8 -8
  348. merge/resources/ats/resources/field_mapping/raw_client.py +58 -8
  349. merge/resources/ats/resources/force_resync/raw_client.py +10 -0
  350. merge/resources/ats/resources/generate_key/raw_client.py +10 -0
  351. merge/resources/ats/resources/interviews/__init__.py +4 -2
  352. merge/resources/ats/resources/interviews/raw_client.py +34 -0
  353. merge/resources/ats/resources/interviews/types/__init__.py +4 -2
  354. merge/resources/ats/resources/interviews/types/interviews_list_request_expand_item.py +3 -2
  355. merge/resources/ats/resources/interviews/types/interviews_retrieve_request_expand_item.py +3 -2
  356. merge/resources/ats/resources/issues/__init__.py +4 -2
  357. merge/resources/ats/resources/issues/raw_client.py +18 -0
  358. merge/resources/ats/resources/issues/types/__init__.py +4 -2
  359. merge/resources/ats/resources/issues/types/issues_list_request_status.py +3 -2
  360. merge/resources/ats/resources/job_interview_stages/raw_client.py +18 -0
  361. merge/resources/ats/resources/job_postings/__init__.py +4 -2
  362. merge/resources/ats/resources/job_postings/raw_client.py +18 -0
  363. merge/resources/ats/resources/job_postings/types/__init__.py +4 -2
  364. merge/resources/ats/resources/job_postings/types/job_postings_list_request_status.py +3 -2
  365. merge/resources/ats/resources/jobs/__init__.py +4 -2
  366. merge/resources/ats/resources/jobs/raw_client.py +26 -0
  367. merge/resources/ats/resources/jobs/types/__init__.py +4 -2
  368. merge/resources/ats/resources/jobs/types/jobs_list_request_expand_item.py +3 -2
  369. merge/resources/ats/resources/jobs/types/jobs_list_request_status.py +3 -2
  370. merge/resources/ats/resources/jobs/types/jobs_retrieve_request_expand_item.py +3 -2
  371. merge/resources/ats/resources/jobs/types/jobs_screening_questions_list_request_expand_item.py +3 -2
  372. merge/resources/ats/resources/link_token/__init__.py +4 -2
  373. merge/resources/ats/resources/link_token/client.py +4 -4
  374. merge/resources/ats/resources/link_token/raw_client.py +14 -4
  375. merge/resources/ats/resources/link_token/types/__init__.py +4 -2
  376. merge/resources/ats/resources/linked_accounts/__init__.py +4 -2
  377. merge/resources/ats/resources/linked_accounts/raw_client.py +10 -0
  378. merge/resources/ats/resources/linked_accounts/types/__init__.py +4 -2
  379. merge/resources/ats/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  380. merge/resources/ats/resources/offers/__init__.py +4 -2
  381. merge/resources/ats/resources/offers/raw_client.py +18 -0
  382. merge/resources/ats/resources/offers/types/__init__.py +4 -2
  383. merge/resources/ats/resources/offers/types/offers_list_request_expand_item.py +3 -2
  384. merge/resources/ats/resources/offers/types/offers_list_request_status.py +3 -2
  385. merge/resources/ats/resources/offers/types/offers_retrieve_request_expand_item.py +3 -2
  386. merge/resources/ats/resources/offices/raw_client.py +18 -0
  387. merge/resources/ats/resources/passthrough/raw_client.py +10 -0
  388. merge/resources/ats/resources/regenerate_key/raw_client.py +10 -0
  389. merge/resources/ats/resources/reject_reasons/raw_client.py +18 -0
  390. merge/resources/ats/resources/scopes/raw_client.py +26 -0
  391. merge/resources/ats/resources/scorecards/__init__.py +4 -2
  392. merge/resources/ats/resources/scorecards/raw_client.py +18 -0
  393. merge/resources/ats/resources/scorecards/types/__init__.py +4 -2
  394. merge/resources/ats/resources/scorecards/types/scorecards_list_request_expand_item.py +3 -2
  395. merge/resources/ats/resources/scorecards/types/scorecards_retrieve_request_expand_item.py +3 -2
  396. merge/resources/ats/resources/sync_status/raw_client.py +10 -0
  397. merge/resources/ats/resources/tags/raw_client.py +10 -0
  398. merge/resources/ats/resources/users/raw_client.py +18 -0
  399. merge/resources/ats/resources/webhook_receivers/raw_client.py +18 -0
  400. merge/resources/ats/types/__init__.py +4 -2
  401. merge/resources/ats/types/access_role_enum.py +3 -2
  402. merge/resources/ats/types/account_details_and_actions.py +1 -1
  403. merge/resources/ats/types/account_details_and_actions_status_enum.py +3 -2
  404. merge/resources/ats/types/account_integration.py +2 -4
  405. merge/resources/ats/types/activity.py +1 -1
  406. merge/resources/ats/types/activity_request.py +2 -2
  407. merge/resources/ats/types/activity_type_enum.py +3 -2
  408. merge/resources/ats/types/advanced_metadata.py +1 -1
  409. merge/resources/ats/types/application.py +17 -9
  410. merge/resources/ats/types/application_request.py +2 -8
  411. merge/resources/ats/types/application_response.py +18 -7
  412. merge/resources/ats/types/attachment.py +1 -1
  413. merge/resources/ats/types/attachment_request.py +2 -2
  414. merge/resources/ats/types/attachment_type_enum.py +3 -2
  415. merge/resources/ats/types/candidate.py +17 -8
  416. merge/resources/ats/types/candidate_request.py +2 -8
  417. merge/resources/ats/types/candidate_response.py +18 -7
  418. merge/resources/ats/types/categories_enum.py +3 -2
  419. merge/resources/ats/types/category_enum.py +3 -2
  420. merge/resources/ats/types/data_passthrough_request.py +1 -1
  421. merge/resources/ats/types/department.py +1 -1
  422. merge/resources/ats/types/disability_status_enum.py +3 -2
  423. merge/resources/ats/types/eeoc.py +1 -7
  424. merge/resources/ats/types/email_address_request.py +2 -2
  425. merge/resources/ats/types/email_address_type_enum.py +3 -2
  426. merge/resources/ats/types/enabled_actions_enum.py +3 -2
  427. merge/resources/ats/types/encoding_enum.py +3 -2
  428. merge/resources/ats/types/event_type_enum.py +3 -2
  429. merge/resources/ats/types/external_target_field_api_response.py +76 -24
  430. merge/resources/ats/types/field_mapping_api_instance_remote_field.py +5 -3
  431. merge/resources/ats/types/field_mapping_api_instance_response.py +76 -28
  432. merge/resources/ats/types/field_permission_deserializer.py +2 -2
  433. merge/resources/ats/types/field_permission_deserializer_request.py +2 -2
  434. merge/resources/ats/types/gender_enum.py +3 -2
  435. merge/resources/ats/types/issue.py +1 -1
  436. merge/resources/ats/types/issue_status_enum.py +3 -2
  437. merge/resources/ats/types/job.py +5 -4
  438. merge/resources/ats/types/job_interview_stage.py +1 -4
  439. merge/resources/ats/types/job_posting.py +5 -4
  440. merge/resources/ats/types/job_posting_status_enum.py +3 -2
  441. merge/resources/ats/types/job_status_enum.py +3 -2
  442. merge/resources/ats/types/job_type_enum.py +3 -2
  443. merge/resources/ats/types/language_enum.py +3 -2
  444. merge/resources/ats/types/last_sync_result_enum.py +3 -2
  445. merge/resources/ats/types/meta_response.py +2 -2
  446. merge/resources/ats/types/method_enum.py +3 -2
  447. merge/resources/ats/types/offer.py +17 -8
  448. merge/resources/ats/types/offer_status_enum.py +3 -2
  449. merge/resources/ats/types/office.py +1 -1
  450. merge/resources/ats/types/overall_recommendation_enum.py +3 -2
  451. merge/resources/ats/types/paginated_application_list.py +18 -7
  452. merge/resources/ats/types/paginated_candidate_list.py +18 -7
  453. merge/resources/ats/types/paginated_eeoc_list.py +0 -6
  454. merge/resources/ats/types/paginated_job_interview_stage_list.py +0 -3
  455. merge/resources/ats/types/paginated_job_list.py +8 -4
  456. merge/resources/ats/types/paginated_job_posting_list.py +12 -4
  457. merge/resources/ats/types/paginated_offer_list.py +18 -7
  458. merge/resources/ats/types/paginated_scheduled_interview_list.py +0 -6
  459. merge/resources/ats/types/paginated_scorecard_list.py +0 -6
  460. merge/resources/ats/types/paginated_screening_question_list.py +0 -3
  461. merge/resources/ats/types/patched_candidate_request.py +2 -8
  462. merge/resources/ats/types/phone_number_request.py +2 -2
  463. merge/resources/ats/types/phone_number_type_enum.py +3 -2
  464. merge/resources/ats/types/race_enum.py +3 -2
  465. merge/resources/ats/types/reason_enum.py +3 -2
  466. merge/resources/ats/types/reject_reason.py +1 -1
  467. merge/resources/ats/types/remote_data.py +1 -1
  468. merge/resources/ats/types/remote_endpoint_info.py +1 -1
  469. merge/resources/ats/types/remote_field_api.py +6 -2
  470. merge/resources/ats/types/remote_field_api_response.py +70 -20
  471. merge/resources/ats/types/remote_response.py +3 -3
  472. merge/resources/ats/types/remote_user.py +1 -1
  473. merge/resources/ats/types/request_format_enum.py +3 -2
  474. merge/resources/ats/types/response_type_enum.py +3 -2
  475. merge/resources/ats/types/role_enum.py +3 -2
  476. merge/resources/ats/types/scheduled_interview.py +1 -7
  477. merge/resources/ats/types/scheduled_interview_request.py +2 -8
  478. merge/resources/ats/types/scheduled_interview_response.py +0 -6
  479. merge/resources/ats/types/scheduled_interview_status_enum.py +3 -2
  480. merge/resources/ats/types/scorecard.py +1 -7
  481. merge/resources/ats/types/screening_question.py +0 -3
  482. merge/resources/ats/types/screening_question_answer.py +0 -3
  483. merge/resources/ats/types/screening_question_answer_request.py +2 -5
  484. merge/resources/ats/types/screening_question_type_enum.py +3 -2
  485. merge/resources/ats/types/selective_sync_configurations_usage_enum.py +3 -2
  486. merge/resources/ats/types/status_fd_5_enum.py +3 -2
  487. merge/resources/ats/types/tag.py +2 -2
  488. merge/resources/ats/types/url_request.py +2 -2
  489. merge/resources/ats/types/url_type_enum.py +3 -2
  490. merge/resources/ats/types/veteran_status_enum.py +3 -2
  491. merge/resources/ats/types/visibility_enum.py +3 -2
  492. merge/resources/calendar/__init__.py +4 -2
  493. merge/resources/calendar/resources/__init__.py +26 -24
  494. merge/resources/calendar/resources/account_details/raw_client.py +10 -0
  495. merge/resources/calendar/resources/account_token/raw_client.py +18 -0
  496. merge/resources/calendar/resources/async_passthrough/__init__.py +4 -2
  497. merge/resources/calendar/resources/async_passthrough/raw_client.py +18 -0
  498. merge/resources/calendar/resources/async_passthrough/types/__init__.py +4 -2
  499. merge/resources/calendar/resources/audit_trail/raw_client.py +10 -0
  500. merge/resources/calendar/resources/available_actions/raw_client.py +10 -0
  501. merge/resources/calendar/resources/calendars/__init__.py +4 -2
  502. merge/resources/calendar/resources/calendars/raw_client.py +18 -0
  503. merge/resources/calendar/resources/calendars/types/__init__.py +4 -2
  504. merge/resources/calendar/resources/calendars/types/calendars_list_request_type.py +3 -2
  505. merge/resources/calendar/resources/delete_account/raw_client.py +10 -0
  506. merge/resources/calendar/resources/events/__init__.py +4 -2
  507. merge/resources/calendar/resources/events/raw_client.py +34 -0
  508. merge/resources/calendar/resources/events/types/__init__.py +4 -2
  509. merge/resources/calendar/resources/events/types/events_invitees_list_request_expand_item.py +3 -2
  510. merge/resources/calendar/resources/events/types/events_list_request_expand_item.py +3 -2
  511. merge/resources/calendar/resources/events/types/events_retrieve_request_expand_item.py +3 -2
  512. merge/resources/calendar/resources/field_mapping/client.py +8 -8
  513. merge/resources/calendar/resources/field_mapping/raw_client.py +66 -8
  514. merge/resources/calendar/resources/force_resync/raw_client.py +10 -0
  515. merge/resources/calendar/resources/generate_key/raw_client.py +10 -0
  516. merge/resources/calendar/resources/groups/__init__.py +4 -2
  517. merge/resources/calendar/resources/groups/raw_client.py +18 -0
  518. merge/resources/calendar/resources/groups/types/__init__.py +4 -2
  519. merge/resources/calendar/resources/groups/types/groups_list_request_expand_item.py +3 -2
  520. merge/resources/calendar/resources/groups/types/groups_retrieve_request_expand_item.py +3 -2
  521. merge/resources/calendar/resources/issues/__init__.py +4 -2
  522. merge/resources/calendar/resources/issues/raw_client.py +18 -0
  523. merge/resources/calendar/resources/issues/types/__init__.py +4 -2
  524. merge/resources/calendar/resources/issues/types/issues_list_request_status.py +3 -2
  525. merge/resources/calendar/resources/link_token/__init__.py +4 -2
  526. merge/resources/calendar/resources/link_token/client.py +4 -4
  527. merge/resources/calendar/resources/link_token/raw_client.py +14 -4
  528. merge/resources/calendar/resources/link_token/types/__init__.py +4 -2
  529. merge/resources/calendar/resources/linked_accounts/__init__.py +4 -2
  530. merge/resources/calendar/resources/linked_accounts/raw_client.py +18 -0
  531. merge/resources/calendar/resources/linked_accounts/types/__init__.py +4 -2
  532. merge/resources/calendar/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  533. merge/resources/calendar/resources/passthrough/raw_client.py +10 -0
  534. merge/resources/calendar/resources/regenerate_key/raw_client.py +10 -0
  535. merge/resources/calendar/resources/scopes/raw_client.py +26 -0
  536. merge/resources/calendar/resources/series/raw_client.py +18 -0
  537. merge/resources/calendar/resources/sync_status/raw_client.py +10 -0
  538. merge/resources/calendar/resources/users/raw_client.py +18 -0
  539. merge/resources/calendar/resources/webhook_receivers/raw_client.py +18 -0
  540. merge/resources/calendar/types/__init__.py +4 -2
  541. merge/resources/calendar/types/account_details_and_actions.py +1 -1
  542. merge/resources/calendar/types/account_details_and_actions_status_enum.py +3 -2
  543. merge/resources/calendar/types/account_integration.py +2 -4
  544. merge/resources/calendar/types/advanced_metadata.py +1 -1
  545. merge/resources/calendar/types/availability_status_enum.py +3 -2
  546. merge/resources/calendar/types/calendar_field_mappings.py +2 -2
  547. merge/resources/calendar/types/calendar_type_enum.py +3 -2
  548. merge/resources/calendar/types/categories_enum.py +3 -2
  549. merge/resources/calendar/types/category_enum.py +3 -2
  550. merge/resources/calendar/types/data_passthrough_request.py +1 -1
  551. merge/resources/calendar/types/effective_role_enum.py +3 -2
  552. merge/resources/calendar/types/enabled_actions_enum.py +3 -2
  553. merge/resources/calendar/types/encoding_enum.py +3 -2
  554. merge/resources/calendar/types/event_field_mappings.py +2 -2
  555. merge/resources/calendar/types/event_type_enum.py +3 -2
  556. merge/resources/calendar/types/external_target_field_api_response.py +25 -5
  557. merge/resources/calendar/types/field_mapping_api_instance_remote_field.py +5 -3
  558. merge/resources/calendar/types/field_mapping_api_instance_response.py +25 -5
  559. merge/resources/calendar/types/field_permission_deserializer.py +2 -2
  560. merge/resources/calendar/types/field_permission_deserializer_request.py +2 -2
  561. merge/resources/calendar/types/group_field_mappings.py +2 -2
  562. merge/resources/calendar/types/issue.py +1 -1
  563. merge/resources/calendar/types/issue_status_enum.py +3 -2
  564. merge/resources/calendar/types/language_enum.py +3 -2
  565. merge/resources/calendar/types/last_sync_result_enum.py +3 -2
  566. merge/resources/calendar/types/location_type_enum.py +3 -2
  567. merge/resources/calendar/types/method_enum.py +3 -2
  568. merge/resources/calendar/types/permission_field_mappings.py +2 -2
  569. merge/resources/calendar/types/permission_type_enum.py +3 -2
  570. merge/resources/calendar/types/remote_data.py +1 -1
  571. merge/resources/calendar/types/remote_endpoint_info.py +1 -1
  572. merge/resources/calendar/types/remote_field_api.py +6 -2
  573. merge/resources/calendar/types/remote_field_api_response.py +17 -5
  574. merge/resources/calendar/types/remote_response.py +3 -3
  575. merge/resources/calendar/types/request_format_enum.py +3 -2
  576. merge/resources/calendar/types/response_type_enum.py +3 -2
  577. merge/resources/calendar/types/role_enum.py +3 -2
  578. merge/resources/calendar/types/roles_enum.py +3 -2
  579. merge/resources/calendar/types/rsvp_enum.py +3 -2
  580. merge/resources/calendar/types/selective_sync_configurations_usage_enum.py +3 -2
  581. merge/resources/calendar/types/series_field_mappings.py +2 -2
  582. merge/resources/calendar/types/status_fd_5_enum.py +3 -2
  583. merge/resources/calendar/types/user_field_mappings.py +2 -2
  584. merge/resources/chat/__init__.py +4 -2
  585. merge/resources/chat/resources/__init__.py +25 -23
  586. merge/resources/chat/resources/account_details/raw_client.py +10 -0
  587. merge/resources/chat/resources/account_token/raw_client.py +18 -0
  588. merge/resources/chat/resources/async_passthrough/__init__.py +4 -2
  589. merge/resources/chat/resources/async_passthrough/raw_client.py +18 -0
  590. merge/resources/chat/resources/async_passthrough/types/__init__.py +4 -2
  591. merge/resources/chat/resources/audit_trail/raw_client.py +10 -0
  592. merge/resources/chat/resources/available_actions/raw_client.py +10 -0
  593. merge/resources/chat/resources/conversations/__init__.py +4 -2
  594. merge/resources/chat/resources/conversations/raw_client.py +26 -0
  595. merge/resources/chat/resources/conversations/types/__init__.py +4 -2
  596. merge/resources/chat/resources/conversations/types/conversations_members_list_request_expand_item.py +3 -2
  597. merge/resources/chat/resources/delete_account/raw_client.py +10 -0
  598. merge/resources/chat/resources/field_mapping/client.py +8 -8
  599. merge/resources/chat/resources/field_mapping/raw_client.py +66 -8
  600. merge/resources/chat/resources/force_resync/raw_client.py +10 -0
  601. merge/resources/chat/resources/generate_key/raw_client.py +10 -0
  602. merge/resources/chat/resources/groups/raw_client.py +18 -0
  603. merge/resources/chat/resources/issues/__init__.py +4 -2
  604. merge/resources/chat/resources/issues/raw_client.py +18 -0
  605. merge/resources/chat/resources/issues/types/__init__.py +4 -2
  606. merge/resources/chat/resources/issues/types/issues_list_request_status.py +3 -2
  607. merge/resources/chat/resources/link_token/__init__.py +4 -2
  608. merge/resources/chat/resources/link_token/client.py +4 -4
  609. merge/resources/chat/resources/link_token/raw_client.py +14 -4
  610. merge/resources/chat/resources/link_token/types/__init__.py +4 -2
  611. merge/resources/chat/resources/linked_accounts/__init__.py +4 -2
  612. merge/resources/chat/resources/linked_accounts/raw_client.py +10 -0
  613. merge/resources/chat/resources/linked_accounts/types/__init__.py +4 -2
  614. merge/resources/chat/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  615. merge/resources/chat/resources/messages/__init__.py +4 -2
  616. merge/resources/chat/resources/messages/raw_client.py +26 -0
  617. merge/resources/chat/resources/messages/types/__init__.py +4 -2
  618. merge/resources/chat/resources/messages/types/messages_list_request_order_by.py +3 -2
  619. merge/resources/chat/resources/messages/types/messages_replies_list_request_order_by.py +3 -2
  620. merge/resources/chat/resources/passthrough/raw_client.py +10 -0
  621. merge/resources/chat/resources/regenerate_key/raw_client.py +10 -0
  622. merge/resources/chat/resources/scopes/raw_client.py +26 -0
  623. merge/resources/chat/resources/sync_status/raw_client.py +10 -0
  624. merge/resources/chat/resources/users/raw_client.py +18 -0
  625. merge/resources/chat/resources/webhook_receivers/raw_client.py +18 -0
  626. merge/resources/chat/types/__init__.py +4 -2
  627. merge/resources/chat/types/account_details_and_actions.py +1 -1
  628. merge/resources/chat/types/account_details_and_actions_status_enum.py +3 -2
  629. merge/resources/chat/types/account_integration.py +2 -4
  630. merge/resources/chat/types/advanced_metadata.py +1 -1
  631. merge/resources/chat/types/categories_enum.py +3 -2
  632. merge/resources/chat/types/category_enum.py +3 -2
  633. merge/resources/chat/types/conversation.py +0 -3
  634. merge/resources/chat/types/conversation_field_mappings.py +2 -2
  635. merge/resources/chat/types/data_passthrough_request.py +1 -1
  636. merge/resources/chat/types/enabled_actions_enum.py +3 -2
  637. merge/resources/chat/types/encoding_enum.py +3 -2
  638. merge/resources/chat/types/event_type_enum.py +3 -2
  639. merge/resources/chat/types/external_target_field_api_response.py +20 -6
  640. merge/resources/chat/types/field_mapping_api_instance_remote_field.py +5 -3
  641. merge/resources/chat/types/field_mapping_api_instance_response.py +20 -6
  642. merge/resources/chat/types/field_permission_deserializer.py +2 -2
  643. merge/resources/chat/types/field_permission_deserializer_request.py +2 -2
  644. merge/resources/chat/types/group.py +4 -3
  645. merge/resources/chat/types/group_field_mappings.py +2 -2
  646. merge/resources/chat/types/issue.py +1 -1
  647. merge/resources/chat/types/issue_status_enum.py +3 -2
  648. merge/resources/chat/types/language_enum.py +3 -2
  649. merge/resources/chat/types/last_sync_result_enum.py +3 -2
  650. merge/resources/chat/types/member.py +0 -3
  651. merge/resources/chat/types/member_field_mappings.py +2 -2
  652. merge/resources/chat/types/method_enum.py +3 -2
  653. merge/resources/chat/types/paginated_conversation_list.py +0 -3
  654. merge/resources/chat/types/paginated_group_list.py +8 -4
  655. merge/resources/chat/types/paginated_member_list.py +0 -3
  656. merge/resources/chat/types/paginated_user_list.py +8 -4
  657. merge/resources/chat/types/remote_data.py +1 -1
  658. merge/resources/chat/types/remote_endpoint_info.py +1 -1
  659. merge/resources/chat/types/remote_field_api.py +6 -2
  660. merge/resources/chat/types/remote_field_api_response.py +16 -4
  661. merge/resources/chat/types/remote_response.py +3 -3
  662. merge/resources/chat/types/request_format_enum.py +3 -2
  663. merge/resources/chat/types/response_type_enum.py +3 -2
  664. merge/resources/chat/types/role_enum.py +3 -2
  665. merge/resources/chat/types/selective_sync_configurations_usage_enum.py +3 -2
  666. merge/resources/chat/types/status_fd_5_enum.py +3 -2
  667. merge/resources/chat/types/type_enum.py +3 -2
  668. merge/resources/chat/types/user.py +4 -3
  669. merge/resources/chat/types/user_field_mappings.py +2 -2
  670. merge/resources/crm/__init__.py +4 -2
  671. merge/resources/crm/resources/__init__.py +35 -33
  672. merge/resources/crm/resources/account_details/raw_client.py +10 -0
  673. merge/resources/crm/resources/account_token/raw_client.py +18 -0
  674. merge/resources/crm/resources/accounts/raw_client.py +58 -0
  675. merge/resources/crm/resources/association_types/raw_client.py +34 -0
  676. merge/resources/crm/resources/associations/raw_client.py +18 -0
  677. merge/resources/crm/resources/async_passthrough/__init__.py +4 -2
  678. merge/resources/crm/resources/async_passthrough/raw_client.py +18 -0
  679. merge/resources/crm/resources/async_passthrough/types/__init__.py +4 -2
  680. merge/resources/crm/resources/audit_trail/raw_client.py +10 -0
  681. merge/resources/crm/resources/available_actions/raw_client.py +10 -0
  682. merge/resources/crm/resources/contacts/__init__.py +4 -2
  683. merge/resources/crm/resources/contacts/raw_client.py +66 -0
  684. merge/resources/crm/resources/contacts/types/__init__.py +4 -2
  685. merge/resources/crm/resources/contacts/types/contacts_list_request_expand_item.py +3 -2
  686. merge/resources/crm/resources/contacts/types/contacts_retrieve_request_expand_item.py +3 -2
  687. merge/resources/crm/resources/custom_object_classes/raw_client.py +18 -0
  688. merge/resources/crm/resources/custom_objects/raw_client.py +42 -0
  689. merge/resources/crm/resources/delete_account/raw_client.py +10 -0
  690. merge/resources/crm/resources/engagement_types/raw_client.py +26 -0
  691. merge/resources/crm/resources/engagements/__init__.py +4 -2
  692. merge/resources/crm/resources/engagements/raw_client.py +58 -0
  693. merge/resources/crm/resources/engagements/types/__init__.py +4 -2
  694. merge/resources/crm/resources/engagements/types/engagements_list_request_expand_item.py +3 -2
  695. merge/resources/crm/resources/engagements/types/engagements_retrieve_request_expand_item.py +3 -2
  696. merge/resources/crm/resources/field_mapping/client.py +8 -8
  697. merge/resources/crm/resources/field_mapping/raw_client.py +58 -8
  698. merge/resources/crm/resources/force_resync/raw_client.py +10 -0
  699. merge/resources/crm/resources/generate_key/raw_client.py +10 -0
  700. merge/resources/crm/resources/issues/__init__.py +4 -2
  701. merge/resources/crm/resources/issues/raw_client.py +18 -0
  702. merge/resources/crm/resources/issues/types/__init__.py +4 -2
  703. merge/resources/crm/resources/issues/types/issues_list_request_status.py +3 -2
  704. merge/resources/crm/resources/leads/__init__.py +4 -2
  705. merge/resources/crm/resources/leads/raw_client.py +42 -0
  706. merge/resources/crm/resources/leads/types/__init__.py +4 -2
  707. merge/resources/crm/resources/leads/types/leads_list_request_expand_item.py +3 -2
  708. merge/resources/crm/resources/leads/types/leads_retrieve_request_expand_item.py +3 -2
  709. merge/resources/crm/resources/link_token/__init__.py +4 -2
  710. merge/resources/crm/resources/link_token/client.py +4 -4
  711. merge/resources/crm/resources/link_token/raw_client.py +14 -4
  712. merge/resources/crm/resources/link_token/types/__init__.py +4 -2
  713. merge/resources/crm/resources/linked_accounts/__init__.py +4 -2
  714. merge/resources/crm/resources/linked_accounts/raw_client.py +10 -0
  715. merge/resources/crm/resources/linked_accounts/types/__init__.py +4 -2
  716. merge/resources/crm/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  717. merge/resources/crm/resources/notes/__init__.py +4 -2
  718. merge/resources/crm/resources/notes/raw_client.py +42 -0
  719. merge/resources/crm/resources/notes/types/__init__.py +4 -2
  720. merge/resources/crm/resources/notes/types/notes_list_request_expand_item.py +3 -2
  721. merge/resources/crm/resources/notes/types/notes_retrieve_request_expand_item.py +3 -2
  722. merge/resources/crm/resources/opportunities/__init__.py +4 -2
  723. merge/resources/crm/resources/opportunities/raw_client.py +58 -0
  724. merge/resources/crm/resources/opportunities/types/__init__.py +4 -2
  725. merge/resources/crm/resources/opportunities/types/opportunities_list_request_expand_item.py +3 -2
  726. merge/resources/crm/resources/opportunities/types/opportunities_list_request_status.py +3 -2
  727. merge/resources/crm/resources/opportunities/types/opportunities_retrieve_request_expand_item.py +3 -2
  728. merge/resources/crm/resources/passthrough/raw_client.py +10 -0
  729. merge/resources/crm/resources/regenerate_key/raw_client.py +10 -0
  730. merge/resources/crm/resources/scopes/raw_client.py +26 -0
  731. merge/resources/crm/resources/stages/raw_client.py +26 -0
  732. merge/resources/crm/resources/sync_status/raw_client.py +10 -0
  733. merge/resources/crm/resources/tasks/__init__.py +4 -2
  734. merge/resources/crm/resources/tasks/raw_client.py +58 -0
  735. merge/resources/crm/resources/tasks/types/__init__.py +4 -2
  736. merge/resources/crm/resources/tasks/types/tasks_list_request_expand_item.py +3 -2
  737. merge/resources/crm/resources/tasks/types/tasks_retrieve_request_expand_item.py +3 -2
  738. merge/resources/crm/resources/users/raw_client.py +34 -0
  739. merge/resources/crm/resources/webhook_receivers/raw_client.py +18 -0
  740. merge/resources/crm/types/__init__.py +4 -2
  741. merge/resources/crm/types/account.py +1 -1
  742. merge/resources/crm/types/account_details_and_actions.py +1 -1
  743. merge/resources/crm/types/account_details_and_actions_status_enum.py +3 -2
  744. merge/resources/crm/types/account_integration.py +2 -4
  745. merge/resources/crm/types/account_request.py +2 -2
  746. merge/resources/crm/types/activity_type_enum.py +3 -2
  747. merge/resources/crm/types/address_request.py +2 -2
  748. merge/resources/crm/types/address_type_enum.py +3 -2
  749. merge/resources/crm/types/advanced_metadata.py +1 -1
  750. merge/resources/crm/types/association_type.py +1 -1
  751. merge/resources/crm/types/cardinality_enum.py +3 -2
  752. merge/resources/crm/types/categories_enum.py +3 -2
  753. merge/resources/crm/types/category_enum.py +3 -2
  754. merge/resources/crm/types/contact.py +1 -1
  755. merge/resources/crm/types/contact_request.py +2 -2
  756. merge/resources/crm/types/country_enum.py +3 -2
  757. merge/resources/crm/types/custom_object.py +1 -1
  758. merge/resources/crm/types/custom_object_class.py +1 -3
  759. merge/resources/crm/types/custom_object_request.py +3 -3
  760. merge/resources/crm/types/data_passthrough_request.py +1 -1
  761. merge/resources/crm/types/direction_enum.py +3 -2
  762. merge/resources/crm/types/email_address_request.py +2 -2
  763. merge/resources/crm/types/enabled_actions_enum.py +3 -2
  764. merge/resources/crm/types/encoding_enum.py +3 -2
  765. merge/resources/crm/types/engagement.py +1 -1
  766. merge/resources/crm/types/engagement_request.py +2 -2
  767. merge/resources/crm/types/event_type_enum.py +3 -2
  768. merge/resources/crm/types/external_target_field_api_response.py +39 -11
  769. merge/resources/crm/types/field_format_enum.py +3 -2
  770. merge/resources/crm/types/field_mapping_api_instance_remote_field.py +5 -3
  771. merge/resources/crm/types/field_mapping_api_instance_response.py +39 -11
  772. merge/resources/crm/types/field_permission_deserializer.py +2 -2
  773. merge/resources/crm/types/field_permission_deserializer_request.py +2 -2
  774. merge/resources/crm/types/field_type_enum.py +3 -2
  775. merge/resources/crm/types/issue.py +1 -1
  776. merge/resources/crm/types/issue_status_enum.py +3 -2
  777. merge/resources/crm/types/item_format_enum.py +3 -2
  778. merge/resources/crm/types/item_type_enum.py +3 -2
  779. merge/resources/crm/types/language_enum.py +3 -2
  780. merge/resources/crm/types/last_sync_result_enum.py +3 -2
  781. merge/resources/crm/types/lead.py +1 -1
  782. merge/resources/crm/types/lead_request.py +2 -2
  783. merge/resources/crm/types/lead_status_enum.py +3 -2
  784. merge/resources/crm/types/meta_response.py +2 -2
  785. merge/resources/crm/types/method_enum.py +3 -2
  786. merge/resources/crm/types/note.py +1 -1
  787. merge/resources/crm/types/note_request.py +2 -2
  788. merge/resources/crm/types/opportunity.py +1 -1
  789. merge/resources/crm/types/opportunity_request.py +2 -2
  790. merge/resources/crm/types/opportunity_status_enum.py +3 -2
  791. merge/resources/crm/types/origin_type_enum.py +3 -2
  792. merge/resources/crm/types/patched_account_request.py +2 -2
  793. merge/resources/crm/types/patched_contact_request.py +2 -2
  794. merge/resources/crm/types/patched_engagement_request.py +2 -2
  795. merge/resources/crm/types/patched_opportunity_request.py +2 -2
  796. merge/resources/crm/types/patched_task_request.py +2 -2
  797. merge/resources/crm/types/phone_number_request.py +2 -2
  798. merge/resources/crm/types/reason_enum.py +3 -2
  799. merge/resources/crm/types/remote_data.py +1 -1
  800. merge/resources/crm/types/remote_endpoint_info.py +1 -1
  801. merge/resources/crm/types/remote_field.py +1 -1
  802. merge/resources/crm/types/remote_field_api.py +6 -2
  803. merge/resources/crm/types/remote_field_api_response.py +33 -9
  804. merge/resources/crm/types/remote_field_class_field_choices_item.py +1 -1
  805. merge/resources/crm/types/remote_field_class_for_custom_object_class_field_choices_item.py +1 -1
  806. merge/resources/crm/types/remote_field_request.py +1 -1
  807. merge/resources/crm/types/remote_response.py +3 -3
  808. merge/resources/crm/types/request_format_enum.py +3 -2
  809. merge/resources/crm/types/response_type_enum.py +3 -2
  810. merge/resources/crm/types/role_enum.py +3 -2
  811. merge/resources/crm/types/selective_sync_configurations_usage_enum.py +3 -2
  812. merge/resources/crm/types/stage.py +1 -1
  813. merge/resources/crm/types/status_fd_5_enum.py +3 -2
  814. merge/resources/crm/types/task.py +1 -1
  815. merge/resources/crm/types/task_request.py +2 -2
  816. merge/resources/crm/types/task_status_enum.py +3 -2
  817. merge/resources/crm/types/user.py +1 -1
  818. merge/resources/email/__init__.py +4 -2
  819. merge/resources/email/resources/__init__.py +27 -25
  820. merge/resources/email/resources/account_details/raw_client.py +10 -0
  821. merge/resources/email/resources/account_token/raw_client.py +18 -0
  822. merge/resources/email/resources/async_passthrough/__init__.py +4 -2
  823. merge/resources/email/resources/async_passthrough/raw_client.py +18 -0
  824. merge/resources/email/resources/async_passthrough/types/__init__.py +4 -2
  825. merge/resources/email/resources/audit_trail/raw_client.py +10 -0
  826. merge/resources/email/resources/available_actions/raw_client.py +10 -0
  827. merge/resources/email/resources/delete_account/raw_client.py +10 -0
  828. merge/resources/email/resources/email_addresses/__init__.py +4 -2
  829. merge/resources/email/resources/email_addresses/raw_client.py +18 -0
  830. merge/resources/email/resources/email_addresses/types/__init__.py +4 -2
  831. merge/resources/email/resources/email_addresses/types/email_addresses_list_request_expand_item.py +3 -2
  832. merge/resources/email/resources/email_addresses/types/email_addresses_retrieve_request_expand_item.py +3 -2
  833. merge/resources/email/resources/field_mapping/client.py +8 -8
  834. merge/resources/email/resources/field_mapping/raw_client.py +66 -8
  835. merge/resources/email/resources/folders/__init__.py +4 -2
  836. merge/resources/email/resources/folders/raw_client.py +18 -0
  837. merge/resources/email/resources/folders/types/__init__.py +4 -2
  838. merge/resources/email/resources/folders/types/folders_list_request_expand_item.py +3 -2
  839. merge/resources/email/resources/folders/types/folders_retrieve_request_expand_item.py +3 -2
  840. merge/resources/email/resources/force_resync/raw_client.py +10 -0
  841. merge/resources/email/resources/generate_key/raw_client.py +10 -0
  842. merge/resources/email/resources/groups/__init__.py +4 -2
  843. merge/resources/email/resources/groups/raw_client.py +18 -0
  844. merge/resources/email/resources/groups/types/__init__.py +4 -2
  845. merge/resources/email/resources/groups/types/groups_list_request_expand_item.py +3 -2
  846. merge/resources/email/resources/groups/types/groups_retrieve_request_expand_item.py +3 -2
  847. merge/resources/email/resources/issues/__init__.py +4 -2
  848. merge/resources/email/resources/issues/raw_client.py +18 -0
  849. merge/resources/email/resources/issues/types/__init__.py +4 -2
  850. merge/resources/email/resources/issues/types/issues_list_request_status.py +3 -2
  851. merge/resources/email/resources/link_token/__init__.py +4 -2
  852. merge/resources/email/resources/link_token/client.py +4 -4
  853. merge/resources/email/resources/link_token/raw_client.py +14 -4
  854. merge/resources/email/resources/link_token/types/__init__.py +4 -2
  855. merge/resources/email/resources/linked_accounts/__init__.py +4 -2
  856. merge/resources/email/resources/linked_accounts/raw_client.py +10 -0
  857. merge/resources/email/resources/linked_accounts/types/__init__.py +4 -2
  858. merge/resources/email/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  859. merge/resources/email/resources/mailboxes/__init__.py +4 -2
  860. merge/resources/email/resources/mailboxes/raw_client.py +18 -0
  861. merge/resources/email/resources/mailboxes/types/__init__.py +4 -2
  862. merge/resources/email/resources/mailboxes/types/mailboxes_list_request_expand_item.py +3 -2
  863. merge/resources/email/resources/mailboxes/types/mailboxes_retrieve_request_expand_item.py +3 -2
  864. merge/resources/email/resources/messages/__init__.py +4 -2
  865. merge/resources/email/resources/messages/raw_client.py +18 -0
  866. merge/resources/email/resources/messages/types/__init__.py +4 -2
  867. merge/resources/email/resources/messages/types/messages_list_request_expand_item.py +3 -2
  868. merge/resources/email/resources/messages/types/messages_retrieve_request_expand_item.py +3 -2
  869. merge/resources/email/resources/passthrough/raw_client.py +10 -0
  870. merge/resources/email/resources/regenerate_key/raw_client.py +10 -0
  871. merge/resources/email/resources/scopes/raw_client.py +26 -0
  872. merge/resources/email/resources/sync_status/raw_client.py +10 -0
  873. merge/resources/email/resources/users/__init__.py +4 -2
  874. merge/resources/email/resources/users/raw_client.py +18 -0
  875. merge/resources/email/resources/users/types/__init__.py +4 -2
  876. merge/resources/email/resources/users/types/users_list_request_expand_item.py +3 -2
  877. merge/resources/email/resources/users/types/users_retrieve_request_expand_item.py +3 -2
  878. merge/resources/email/resources/webhook_receivers/raw_client.py +18 -0
  879. merge/resources/email/types/__init__.py +4 -2
  880. merge/resources/email/types/account_details_and_actions.py +1 -1
  881. merge/resources/email/types/account_details_and_actions_status_enum.py +3 -2
  882. merge/resources/email/types/account_integration.py +2 -4
  883. merge/resources/email/types/advanced_metadata.py +1 -1
  884. merge/resources/email/types/categories_enum.py +3 -2
  885. merge/resources/email/types/category_enum.py +3 -2
  886. merge/resources/email/types/data_passthrough_request.py +1 -1
  887. merge/resources/email/types/effect_enum.py +3 -2
  888. merge/resources/email/types/email_address_field_mappings.py +2 -2
  889. merge/resources/email/types/enabled_actions_enum.py +3 -2
  890. merge/resources/email/types/encoding_enum.py +3 -2
  891. merge/resources/email/types/event_type_enum.py +3 -2
  892. merge/resources/email/types/external_target_field_api_response.py +25 -7
  893. merge/resources/email/types/field_mapping_api_instance_remote_field.py +5 -3
  894. merge/resources/email/types/field_mapping_api_instance_response.py +25 -7
  895. merge/resources/email/types/field_permission_deserializer.py +2 -2
  896. merge/resources/email/types/field_permission_deserializer_request.py +2 -2
  897. merge/resources/email/types/folder_field_mappings.py +2 -2
  898. merge/resources/email/types/group_field_mappings.py +2 -2
  899. merge/resources/email/types/issue.py +1 -1
  900. merge/resources/email/types/issue_status_enum.py +3 -2
  901. merge/resources/email/types/language_enum.py +3 -2
  902. merge/resources/email/types/last_sync_result_enum.py +3 -2
  903. merge/resources/email/types/mailbox_field_mappings.py +2 -2
  904. merge/resources/email/types/mailbox_type_enum.py +3 -2
  905. merge/resources/email/types/method_enum.py +3 -2
  906. merge/resources/email/types/permission_field_mappings.py +2 -2
  907. merge/resources/email/types/remote_data.py +1 -1
  908. merge/resources/email/types/remote_endpoint_info.py +1 -1
  909. merge/resources/email/types/remote_field_api.py +6 -2
  910. merge/resources/email/types/remote_field_api_response.py +19 -5
  911. merge/resources/email/types/remote_response.py +3 -3
  912. merge/resources/email/types/request_format_enum.py +3 -2
  913. merge/resources/email/types/response_type_enum.py +3 -2
  914. merge/resources/email/types/role_enum.py +3 -2
  915. merge/resources/email/types/selective_sync_configurations_usage_enum.py +3 -2
  916. merge/resources/email/types/status_fd_5_enum.py +3 -2
  917. merge/resources/email/types/user_field_mappings.py +2 -2
  918. merge/resources/email/types/user_type_enum.py +3 -2
  919. merge/resources/filestorage/__init__.py +4 -2
  920. merge/resources/filestorage/resources/__init__.py +26 -24
  921. merge/resources/filestorage/resources/account_details/raw_client.py +10 -0
  922. merge/resources/filestorage/resources/account_token/raw_client.py +18 -0
  923. merge/resources/filestorage/resources/async_passthrough/__init__.py +4 -2
  924. merge/resources/filestorage/resources/async_passthrough/raw_client.py +18 -0
  925. merge/resources/filestorage/resources/async_passthrough/types/__init__.py +4 -2
  926. merge/resources/filestorage/resources/audit_trail/raw_client.py +10 -0
  927. merge/resources/filestorage/resources/available_actions/raw_client.py +10 -0
  928. merge/resources/filestorage/resources/delete_account/raw_client.py +10 -0
  929. merge/resources/filestorage/resources/drives/raw_client.py +18 -0
  930. merge/resources/filestorage/resources/field_mapping/client.py +8 -8
  931. merge/resources/filestorage/resources/field_mapping/raw_client.py +58 -8
  932. merge/resources/filestorage/resources/files/__init__.py +4 -2
  933. merge/resources/filestorage/resources/files/raw_client.py +64 -0
  934. merge/resources/filestorage/resources/files/types/__init__.py +4 -2
  935. merge/resources/filestorage/resources/files/types/files_download_request_meta_list_request_order_by.py +3 -2
  936. merge/resources/filestorage/resources/files/types/files_list_request_expand_item.py +3 -2
  937. merge/resources/filestorage/resources/files/types/files_list_request_order_by.py +3 -2
  938. merge/resources/filestorage/resources/files/types/files_retrieve_request_expand_item.py +3 -2
  939. merge/resources/filestorage/resources/folders/__init__.py +4 -2
  940. merge/resources/filestorage/resources/folders/raw_client.py +34 -0
  941. merge/resources/filestorage/resources/folders/types/__init__.py +4 -2
  942. merge/resources/filestorage/resources/folders/types/folders_list_request_expand_item.py +3 -2
  943. merge/resources/filestorage/resources/folders/types/folders_retrieve_request_expand_item.py +3 -2
  944. merge/resources/filestorage/resources/force_resync/raw_client.py +10 -0
  945. merge/resources/filestorage/resources/generate_key/raw_client.py +10 -0
  946. merge/resources/filestorage/resources/groups/__init__.py +4 -2
  947. merge/resources/filestorage/resources/groups/raw_client.py +18 -0
  948. merge/resources/filestorage/resources/groups/types/__init__.py +4 -2
  949. merge/resources/filestorage/resources/groups/types/groups_list_request_expand_item.py +3 -2
  950. merge/resources/filestorage/resources/groups/types/groups_retrieve_request_expand_item.py +3 -2
  951. merge/resources/filestorage/resources/issues/__init__.py +4 -2
  952. merge/resources/filestorage/resources/issues/raw_client.py +18 -0
  953. merge/resources/filestorage/resources/issues/types/__init__.py +4 -2
  954. merge/resources/filestorage/resources/issues/types/issues_list_request_status.py +3 -2
  955. merge/resources/filestorage/resources/link_token/client.py +4 -4
  956. merge/resources/filestorage/resources/link_token/raw_client.py +14 -4
  957. merge/resources/filestorage/resources/linked_accounts/__init__.py +4 -2
  958. merge/resources/filestorage/resources/linked_accounts/raw_client.py +10 -0
  959. merge/resources/filestorage/resources/linked_accounts/types/__init__.py +4 -2
  960. merge/resources/filestorage/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  961. merge/resources/filestorage/resources/passthrough/raw_client.py +10 -0
  962. merge/resources/filestorage/resources/regenerate_key/raw_client.py +10 -0
  963. merge/resources/filestorage/resources/scopes/raw_client.py +26 -0
  964. merge/resources/filestorage/resources/sync_status/raw_client.py +10 -0
  965. merge/resources/filestorage/resources/users/raw_client.py +18 -0
  966. merge/resources/filestorage/resources/webhook_receivers/raw_client.py +18 -0
  967. merge/resources/filestorage/types/__init__.py +4 -2
  968. merge/resources/filestorage/types/account_details_and_actions.py +1 -1
  969. merge/resources/filestorage/types/account_details_and_actions_status_enum.py +3 -2
  970. merge/resources/filestorage/types/account_integration.py +2 -4
  971. merge/resources/filestorage/types/advanced_metadata.py +1 -1
  972. merge/resources/filestorage/types/categories_enum.py +3 -2
  973. merge/resources/filestorage/types/category_enum.py +3 -2
  974. merge/resources/filestorage/types/data_passthrough_request.py +1 -1
  975. merge/resources/filestorage/types/download_request_meta.py +1 -1
  976. merge/resources/filestorage/types/drive.py +1 -1
  977. merge/resources/filestorage/types/enabled_actions_enum.py +3 -2
  978. merge/resources/filestorage/types/encoding_enum.py +3 -2
  979. merge/resources/filestorage/types/event_type_enum.py +3 -2
  980. merge/resources/filestorage/types/external_target_field_api_response.py +23 -5
  981. merge/resources/filestorage/types/field_mapping_api_instance_remote_field.py +5 -3
  982. merge/resources/filestorage/types/field_mapping_api_instance_response.py +23 -5
  983. merge/resources/filestorage/types/field_permission_deserializer.py +2 -2
  984. merge/resources/filestorage/types/field_permission_deserializer_request.py +2 -2
  985. merge/resources/filestorage/types/file.py +2 -5
  986. merge/resources/filestorage/types/file_request.py +3 -6
  987. merge/resources/filestorage/types/file_storage_file_response.py +0 -3
  988. merge/resources/filestorage/types/file_storage_folder_response.py +3 -3
  989. merge/resources/filestorage/types/folder.py +3 -4
  990. merge/resources/filestorage/types/folder_request.py +2 -5
  991. merge/resources/filestorage/types/group.py +3 -3
  992. merge/resources/filestorage/types/issue.py +1 -1
  993. merge/resources/filestorage/types/issue_status_enum.py +3 -2
  994. merge/resources/filestorage/types/language_enum.py +3 -2
  995. merge/resources/filestorage/types/last_sync_result_enum.py +3 -2
  996. merge/resources/filestorage/types/meta_response.py +2 -2
  997. merge/resources/filestorage/types/method_enum.py +3 -2
  998. merge/resources/filestorage/types/paginated_file_list.py +0 -3
  999. merge/resources/filestorage/types/paginated_folder_list.py +3 -3
  1000. merge/resources/filestorage/types/paginated_group_list.py +3 -2
  1001. merge/resources/filestorage/types/permission.py +1 -3
  1002. merge/resources/filestorage/types/permission_request.py +2 -4
  1003. merge/resources/filestorage/types/remote_data.py +1 -1
  1004. merge/resources/filestorage/types/remote_endpoint_info.py +1 -1
  1005. merge/resources/filestorage/types/remote_field_api.py +6 -2
  1006. merge/resources/filestorage/types/remote_field_api_response.py +17 -5
  1007. merge/resources/filestorage/types/remote_response.py +3 -3
  1008. merge/resources/filestorage/types/request_format_enum.py +3 -2
  1009. merge/resources/filestorage/types/response_type_enum.py +3 -2
  1010. merge/resources/filestorage/types/role_enum.py +3 -2
  1011. merge/resources/filestorage/types/roles_enum.py +3 -2
  1012. merge/resources/filestorage/types/selective_sync_configurations_usage_enum.py +3 -2
  1013. merge/resources/filestorage/types/status_fd_5_enum.py +3 -2
  1014. merge/resources/filestorage/types/type_enum.py +3 -2
  1015. merge/resources/filestorage/types/user.py +1 -1
  1016. merge/resources/hris/__init__.py +4 -2
  1017. merge/resources/hris/resources/__init__.py +37 -35
  1018. merge/resources/hris/resources/account_details/raw_client.py +10 -0
  1019. merge/resources/hris/resources/account_token/raw_client.py +18 -0
  1020. merge/resources/hris/resources/async_passthrough/__init__.py +4 -2
  1021. merge/resources/hris/resources/async_passthrough/raw_client.py +18 -0
  1022. merge/resources/hris/resources/async_passthrough/types/__init__.py +4 -2
  1023. merge/resources/hris/resources/audit_trail/raw_client.py +10 -0
  1024. merge/resources/hris/resources/available_actions/raw_client.py +10 -0
  1025. merge/resources/hris/resources/bank_info/__init__.py +4 -2
  1026. merge/resources/hris/resources/bank_info/raw_client.py +18 -0
  1027. merge/resources/hris/resources/bank_info/types/__init__.py +4 -2
  1028. merge/resources/hris/resources/bank_info/types/bank_info_list_request_account_type.py +3 -2
  1029. merge/resources/hris/resources/bank_info/types/bank_info_list_request_order_by.py +3 -2
  1030. merge/resources/hris/resources/benefits/raw_client.py +18 -0
  1031. merge/resources/hris/resources/companies/raw_client.py +18 -0
  1032. merge/resources/hris/resources/delete_account/raw_client.py +10 -0
  1033. merge/resources/hris/resources/dependents/raw_client.py +18 -0
  1034. merge/resources/hris/resources/employee_payroll_runs/__init__.py +4 -2
  1035. merge/resources/hris/resources/employee_payroll_runs/raw_client.py +18 -0
  1036. merge/resources/hris/resources/employee_payroll_runs/types/__init__.py +4 -2
  1037. merge/resources/hris/resources/employee_payroll_runs/types/employee_payroll_runs_list_request_expand_item.py +3 -2
  1038. merge/resources/hris/resources/employee_payroll_runs/types/employee_payroll_runs_retrieve_request_expand_item.py +3 -2
  1039. merge/resources/hris/resources/employees/__init__.py +4 -2
  1040. merge/resources/hris/resources/employees/raw_client.py +42 -0
  1041. merge/resources/hris/resources/employees/types/__init__.py +4 -2
  1042. merge/resources/hris/resources/employees/types/employees_list_request_employment_status.py +3 -2
  1043. merge/resources/hris/resources/employees/types/employees_list_request_expand_item.py +3 -2
  1044. merge/resources/hris/resources/employees/types/employees_list_request_remote_fields.py +3 -2
  1045. merge/resources/hris/resources/employees/types/employees_list_request_show_enum_origins.py +3 -2
  1046. merge/resources/hris/resources/employees/types/employees_retrieve_request_expand_item.py +3 -2
  1047. merge/resources/hris/resources/employees/types/employees_retrieve_request_remote_fields.py +3 -2
  1048. merge/resources/hris/resources/employees/types/employees_retrieve_request_show_enum_origins.py +3 -2
  1049. merge/resources/hris/resources/employer_benefits/raw_client.py +18 -0
  1050. merge/resources/hris/resources/employments/__init__.py +4 -2
  1051. merge/resources/hris/resources/employments/raw_client.py +18 -0
  1052. merge/resources/hris/resources/employments/types/__init__.py +4 -2
  1053. merge/resources/hris/resources/employments/types/employments_list_request_expand_item.py +3 -2
  1054. merge/resources/hris/resources/employments/types/employments_list_request_order_by.py +3 -2
  1055. merge/resources/hris/resources/employments/types/employments_list_request_remote_fields.py +3 -2
  1056. merge/resources/hris/resources/employments/types/employments_list_request_show_enum_origins.py +3 -2
  1057. merge/resources/hris/resources/employments/types/employments_retrieve_request_expand_item.py +3 -2
  1058. merge/resources/hris/resources/employments/types/employments_retrieve_request_remote_fields.py +3 -2
  1059. merge/resources/hris/resources/employments/types/employments_retrieve_request_show_enum_origins.py +3 -2
  1060. merge/resources/hris/resources/field_mapping/client.py +8 -8
  1061. merge/resources/hris/resources/field_mapping/raw_client.py +58 -8
  1062. merge/resources/hris/resources/force_resync/raw_client.py +10 -0
  1063. merge/resources/hris/resources/generate_key/raw_client.py +10 -0
  1064. merge/resources/hris/resources/groups/__init__.py +4 -2
  1065. merge/resources/hris/resources/groups/raw_client.py +26 -0
  1066. merge/resources/hris/resources/groups/types/__init__.py +4 -2
  1067. merge/resources/hris/resources/issues/__init__.py +4 -2
  1068. merge/resources/hris/resources/issues/raw_client.py +18 -0
  1069. merge/resources/hris/resources/issues/types/__init__.py +4 -2
  1070. merge/resources/hris/resources/issues/types/issues_list_request_status.py +3 -2
  1071. merge/resources/hris/resources/link_token/__init__.py +4 -2
  1072. merge/resources/hris/resources/link_token/client.py +4 -4
  1073. merge/resources/hris/resources/link_token/raw_client.py +14 -4
  1074. merge/resources/hris/resources/link_token/types/__init__.py +4 -2
  1075. merge/resources/hris/resources/linked_accounts/__init__.py +4 -2
  1076. merge/resources/hris/resources/linked_accounts/raw_client.py +10 -0
  1077. merge/resources/hris/resources/linked_accounts/types/__init__.py +4 -2
  1078. merge/resources/hris/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  1079. merge/resources/hris/resources/locations/__init__.py +4 -2
  1080. merge/resources/hris/resources/locations/raw_client.py +18 -0
  1081. merge/resources/hris/resources/locations/types/__init__.py +4 -2
  1082. merge/resources/hris/resources/locations/types/locations_list_request_location_type.py +3 -2
  1083. merge/resources/hris/resources/locations/types/locations_list_request_remote_fields.py +3 -2
  1084. merge/resources/hris/resources/locations/types/locations_list_request_show_enum_origins.py +3 -2
  1085. merge/resources/hris/resources/locations/types/locations_retrieve_request_remote_fields.py +3 -2
  1086. merge/resources/hris/resources/locations/types/locations_retrieve_request_show_enum_origins.py +3 -2
  1087. merge/resources/hris/resources/passthrough/raw_client.py +10 -0
  1088. merge/resources/hris/resources/pay_groups/raw_client.py +18 -0
  1089. merge/resources/hris/resources/payroll_runs/__init__.py +4 -2
  1090. merge/resources/hris/resources/payroll_runs/raw_client.py +18 -0
  1091. merge/resources/hris/resources/payroll_runs/types/__init__.py +4 -2
  1092. merge/resources/hris/resources/payroll_runs/types/payroll_runs_list_request_remote_fields.py +3 -2
  1093. merge/resources/hris/resources/payroll_runs/types/payroll_runs_list_request_run_type.py +3 -2
  1094. merge/resources/hris/resources/payroll_runs/types/payroll_runs_list_request_show_enum_origins.py +3 -2
  1095. merge/resources/hris/resources/payroll_runs/types/payroll_runs_retrieve_request_remote_fields.py +3 -2
  1096. merge/resources/hris/resources/payroll_runs/types/payroll_runs_retrieve_request_show_enum_origins.py +3 -2
  1097. merge/resources/hris/resources/regenerate_key/raw_client.py +10 -0
  1098. merge/resources/hris/resources/scopes/raw_client.py +26 -0
  1099. merge/resources/hris/resources/sync_status/raw_client.py +10 -0
  1100. merge/resources/hris/resources/teams/raw_client.py +18 -0
  1101. merge/resources/hris/resources/time_off/__init__.py +4 -2
  1102. merge/resources/hris/resources/time_off/raw_client.py +34 -0
  1103. merge/resources/hris/resources/time_off/types/__init__.py +4 -2
  1104. merge/resources/hris/resources/time_off/types/time_off_list_request_expand_item.py +3 -2
  1105. merge/resources/hris/resources/time_off/types/time_off_list_request_remote_fields.py +3 -2
  1106. merge/resources/hris/resources/time_off/types/time_off_list_request_request_type.py +3 -2
  1107. merge/resources/hris/resources/time_off/types/time_off_list_request_show_enum_origins.py +3 -2
  1108. merge/resources/hris/resources/time_off/types/time_off_list_request_status.py +3 -2
  1109. merge/resources/hris/resources/time_off/types/time_off_retrieve_request_expand_item.py +3 -2
  1110. merge/resources/hris/resources/time_off/types/time_off_retrieve_request_remote_fields.py +3 -2
  1111. merge/resources/hris/resources/time_off/types/time_off_retrieve_request_show_enum_origins.py +3 -2
  1112. merge/resources/hris/resources/time_off_balances/__init__.py +4 -2
  1113. merge/resources/hris/resources/time_off_balances/raw_client.py +18 -0
  1114. merge/resources/hris/resources/time_off_balances/types/__init__.py +4 -2
  1115. merge/resources/hris/resources/time_off_balances/types/time_off_balances_list_request_policy_type.py +3 -2
  1116. merge/resources/hris/resources/timesheet_entries/__init__.py +4 -2
  1117. merge/resources/hris/resources/timesheet_entries/raw_client.py +34 -0
  1118. merge/resources/hris/resources/timesheet_entries/types/__init__.py +4 -2
  1119. merge/resources/hris/resources/timesheet_entries/types/timesheet_entries_list_request_order_by.py +3 -2
  1120. merge/resources/hris/resources/webhook_receivers/raw_client.py +18 -0
  1121. merge/resources/hris/types/__init__.py +4 -2
  1122. merge/resources/hris/types/account_details_and_actions.py +1 -1
  1123. merge/resources/hris/types/account_details_and_actions_status_enum.py +3 -2
  1124. merge/resources/hris/types/account_integration.py +2 -4
  1125. merge/resources/hris/types/account_type_enum.py +3 -2
  1126. merge/resources/hris/types/advanced_metadata.py +1 -1
  1127. merge/resources/hris/types/bank_info.py +1 -5
  1128. merge/resources/hris/types/benefit.py +1 -5
  1129. merge/resources/hris/types/benefit_plan_type_enum.py +3 -2
  1130. merge/resources/hris/types/categories_enum.py +3 -2
  1131. merge/resources/hris/types/category_enum.py +3 -2
  1132. merge/resources/hris/types/company.py +1 -1
  1133. merge/resources/hris/types/country_enum.py +3 -2
  1134. merge/resources/hris/types/data_passthrough_request.py +1 -1
  1135. merge/resources/hris/types/deduction.py +1 -1
  1136. merge/resources/hris/types/dependent.py +1 -1
  1137. merge/resources/hris/types/earning.py +1 -1
  1138. merge/resources/hris/types/earning_type_enum.py +3 -2
  1139. merge/resources/hris/types/employee.py +13 -7
  1140. merge/resources/hris/types/employee_payroll_run.py +1 -5
  1141. merge/resources/hris/types/employee_request.py +2 -6
  1142. merge/resources/hris/types/employee_response.py +14 -5
  1143. merge/resources/hris/types/employer_benefit.py +1 -1
  1144. merge/resources/hris/types/employment.py +12 -5
  1145. merge/resources/hris/types/employment_status_enum.py +3 -2
  1146. merge/resources/hris/types/employment_type_enum.py +3 -2
  1147. merge/resources/hris/types/enabled_actions_enum.py +3 -2
  1148. merge/resources/hris/types/encoding_enum.py +3 -2
  1149. merge/resources/hris/types/ethnicity_enum.py +3 -2
  1150. merge/resources/hris/types/event_type_enum.py +3 -2
  1151. merge/resources/hris/types/external_target_field_api_response.py +80 -24
  1152. merge/resources/hris/types/field_mapping_api_instance_remote_field.py +5 -3
  1153. merge/resources/hris/types/field_mapping_api_instance_response.py +80 -26
  1154. merge/resources/hris/types/field_permission_deserializer.py +2 -2
  1155. merge/resources/hris/types/field_permission_deserializer_request.py +2 -2
  1156. merge/resources/hris/types/flsa_status_enum.py +3 -2
  1157. merge/resources/hris/types/gender_enum.py +3 -2
  1158. merge/resources/hris/types/group.py +1 -1
  1159. merge/resources/hris/types/group_type_enum.py +3 -2
  1160. merge/resources/hris/types/issue.py +1 -1
  1161. merge/resources/hris/types/issue_status_enum.py +3 -2
  1162. merge/resources/hris/types/language_enum.py +3 -2
  1163. merge/resources/hris/types/last_sync_result_enum.py +3 -2
  1164. merge/resources/hris/types/location.py +1 -1
  1165. merge/resources/hris/types/location_type_enum.py +3 -2
  1166. merge/resources/hris/types/marital_status_enum.py +3 -2
  1167. merge/resources/hris/types/meta_response.py +2 -2
  1168. merge/resources/hris/types/method_enum.py +3 -2
  1169. merge/resources/hris/types/paginated_bank_info_list.py +0 -4
  1170. merge/resources/hris/types/paginated_benefit_list.py +0 -4
  1171. merge/resources/hris/types/paginated_employee_list.py +14 -5
  1172. merge/resources/hris/types/paginated_employee_payroll_run_list.py +0 -4
  1173. merge/resources/hris/types/paginated_employment_list.py +14 -5
  1174. merge/resources/hris/types/paginated_team_list.py +3 -2
  1175. merge/resources/hris/types/paginated_time_off_balance_list.py +0 -4
  1176. merge/resources/hris/types/paginated_time_off_list.py +0 -4
  1177. merge/resources/hris/types/paginated_timesheet_entry_list.py +0 -4
  1178. merge/resources/hris/types/pay_currency_enum.py +3 -2
  1179. merge/resources/hris/types/pay_frequency_enum.py +3 -2
  1180. merge/resources/hris/types/pay_group.py +1 -1
  1181. merge/resources/hris/types/pay_period_enum.py +3 -2
  1182. merge/resources/hris/types/payroll_run.py +1 -1
  1183. merge/resources/hris/types/policy_type_enum.py +3 -2
  1184. merge/resources/hris/types/reason_enum.py +3 -2
  1185. merge/resources/hris/types/relationship_enum.py +3 -2
  1186. merge/resources/hris/types/remote_data.py +1 -1
  1187. merge/resources/hris/types/remote_endpoint_info.py +1 -1
  1188. merge/resources/hris/types/remote_field_api.py +6 -2
  1189. merge/resources/hris/types/remote_field_api_response.py +64 -22
  1190. merge/resources/hris/types/remote_response.py +3 -3
  1191. merge/resources/hris/types/request_format_enum.py +3 -2
  1192. merge/resources/hris/types/request_type_enum.py +3 -2
  1193. merge/resources/hris/types/response_type_enum.py +3 -2
  1194. merge/resources/hris/types/role_enum.py +3 -2
  1195. merge/resources/hris/types/run_state_enum.py +3 -2
  1196. merge/resources/hris/types/run_type_enum.py +3 -2
  1197. merge/resources/hris/types/selective_sync_configurations_usage_enum.py +3 -2
  1198. merge/resources/hris/types/status_fd_5_enum.py +3 -2
  1199. merge/resources/hris/types/tax.py +1 -1
  1200. merge/resources/hris/types/team.py +3 -3
  1201. merge/resources/hris/types/time_off.py +1 -5
  1202. merge/resources/hris/types/time_off_balance.py +1 -5
  1203. merge/resources/hris/types/time_off_request.py +2 -6
  1204. merge/resources/hris/types/time_off_response.py +0 -4
  1205. merge/resources/hris/types/time_off_status_enum.py +3 -2
  1206. merge/resources/hris/types/timesheet_entry.py +1 -5
  1207. merge/resources/hris/types/timesheet_entry_request.py +2 -6
  1208. merge/resources/hris/types/timesheet_entry_response.py +0 -4
  1209. merge/resources/hris/types/units_enum.py +3 -2
  1210. merge/resources/knowledgebase/__init__.py +4 -2
  1211. merge/resources/knowledgebase/resources/__init__.py +26 -24
  1212. merge/resources/knowledgebase/resources/account_details/raw_client.py +10 -0
  1213. merge/resources/knowledgebase/resources/account_token/raw_client.py +18 -0
  1214. merge/resources/knowledgebase/resources/articles/__init__.py +4 -2
  1215. merge/resources/knowledgebase/resources/articles/raw_client.py +18 -0
  1216. merge/resources/knowledgebase/resources/articles/types/__init__.py +4 -2
  1217. merge/resources/knowledgebase/resources/articles/types/articles_list_request_expand_item.py +3 -2
  1218. merge/resources/knowledgebase/resources/articles/types/articles_list_request_type.py +3 -2
  1219. merge/resources/knowledgebase/resources/articles/types/articles_retrieve_request_expand_item.py +3 -2
  1220. merge/resources/knowledgebase/resources/async_passthrough/__init__.py +4 -2
  1221. merge/resources/knowledgebase/resources/async_passthrough/raw_client.py +18 -0
  1222. merge/resources/knowledgebase/resources/async_passthrough/types/__init__.py +4 -2
  1223. merge/resources/knowledgebase/resources/attachments/raw_client.py +18 -0
  1224. merge/resources/knowledgebase/resources/audit_trail/raw_client.py +10 -0
  1225. merge/resources/knowledgebase/resources/available_actions/raw_client.py +10 -0
  1226. merge/resources/knowledgebase/resources/containers/__init__.py +4 -2
  1227. merge/resources/knowledgebase/resources/containers/raw_client.py +18 -0
  1228. merge/resources/knowledgebase/resources/containers/types/__init__.py +4 -2
  1229. merge/resources/knowledgebase/resources/containers/types/containers_list_request_expand_item.py +3 -2
  1230. merge/resources/knowledgebase/resources/containers/types/containers_list_request_type.py +3 -2
  1231. merge/resources/knowledgebase/resources/containers/types/containers_retrieve_request_expand_item.py +3 -2
  1232. merge/resources/knowledgebase/resources/delete_account/raw_client.py +10 -0
  1233. merge/resources/knowledgebase/resources/field_mapping/client.py +8 -8
  1234. merge/resources/knowledgebase/resources/field_mapping/raw_client.py +66 -8
  1235. merge/resources/knowledgebase/resources/force_resync/raw_client.py +10 -0
  1236. merge/resources/knowledgebase/resources/generate_key/raw_client.py +10 -0
  1237. merge/resources/knowledgebase/resources/groups/__init__.py +4 -2
  1238. merge/resources/knowledgebase/resources/groups/raw_client.py +18 -0
  1239. merge/resources/knowledgebase/resources/groups/types/__init__.py +4 -2
  1240. merge/resources/knowledgebase/resources/groups/types/groups_list_request_expand_item.py +3 -2
  1241. merge/resources/knowledgebase/resources/groups/types/groups_retrieve_request_expand_item.py +3 -2
  1242. merge/resources/knowledgebase/resources/issues/__init__.py +4 -2
  1243. merge/resources/knowledgebase/resources/issues/raw_client.py +18 -0
  1244. merge/resources/knowledgebase/resources/issues/types/__init__.py +4 -2
  1245. merge/resources/knowledgebase/resources/issues/types/issues_list_request_status.py +3 -2
  1246. merge/resources/knowledgebase/resources/link_token/__init__.py +4 -2
  1247. merge/resources/knowledgebase/resources/link_token/client.py +4 -4
  1248. merge/resources/knowledgebase/resources/link_token/raw_client.py +14 -4
  1249. merge/resources/knowledgebase/resources/link_token/types/__init__.py +4 -2
  1250. merge/resources/knowledgebase/resources/linked_accounts/__init__.py +4 -2
  1251. merge/resources/knowledgebase/resources/linked_accounts/raw_client.py +10 -0
  1252. merge/resources/knowledgebase/resources/linked_accounts/types/__init__.py +4 -2
  1253. merge/resources/knowledgebase/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  1254. merge/resources/knowledgebase/resources/passthrough/raw_client.py +10 -0
  1255. merge/resources/knowledgebase/resources/regenerate_key/raw_client.py +10 -0
  1256. merge/resources/knowledgebase/resources/scopes/raw_client.py +26 -0
  1257. merge/resources/knowledgebase/resources/sync_status/raw_client.py +10 -0
  1258. merge/resources/knowledgebase/resources/users/raw_client.py +18 -0
  1259. merge/resources/knowledgebase/resources/webhook_receivers/raw_client.py +18 -0
  1260. merge/resources/knowledgebase/types/__init__.py +4 -2
  1261. merge/resources/knowledgebase/types/account_details_and_actions.py +1 -1
  1262. merge/resources/knowledgebase/types/account_details_and_actions_status_enum.py +3 -2
  1263. merge/resources/knowledgebase/types/account_integration.py +2 -4
  1264. merge/resources/knowledgebase/types/advanced_metadata.py +1 -1
  1265. merge/resources/knowledgebase/types/article.py +2 -3
  1266. merge/resources/knowledgebase/types/article_field_mappings.py +2 -2
  1267. merge/resources/knowledgebase/types/article_type_enum.py +3 -2
  1268. merge/resources/knowledgebase/types/attachment_field_mappings.py +2 -2
  1269. merge/resources/knowledgebase/types/categories_enum.py +3 -2
  1270. merge/resources/knowledgebase/types/category_enum.py +3 -2
  1271. merge/resources/knowledgebase/types/container.py +0 -2
  1272. merge/resources/knowledgebase/types/container_field_mappings.py +2 -2
  1273. merge/resources/knowledgebase/types/container_type_enum.py +3 -2
  1274. merge/resources/knowledgebase/types/data_passthrough_request.py +1 -1
  1275. merge/resources/knowledgebase/types/enabled_actions_enum.py +3 -2
  1276. merge/resources/knowledgebase/types/encoding_enum.py +3 -2
  1277. merge/resources/knowledgebase/types/event_type_enum.py +3 -2
  1278. merge/resources/knowledgebase/types/external_target_field_api_response.py +25 -5
  1279. merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field.py +5 -3
  1280. merge/resources/knowledgebase/types/field_mapping_api_instance_response.py +25 -5
  1281. merge/resources/knowledgebase/types/field_permission_deserializer.py +2 -2
  1282. merge/resources/knowledgebase/types/field_permission_deserializer_request.py +2 -2
  1283. merge/resources/knowledgebase/types/group.py +2 -2
  1284. merge/resources/knowledgebase/types/group_field_mappings.py +2 -2
  1285. merge/resources/knowledgebase/types/issue.py +1 -1
  1286. merge/resources/knowledgebase/types/issue_status_enum.py +3 -2
  1287. merge/resources/knowledgebase/types/language_enum.py +3 -2
  1288. merge/resources/knowledgebase/types/last_sync_result_enum.py +3 -2
  1289. merge/resources/knowledgebase/types/method_enum.py +3 -2
  1290. merge/resources/knowledgebase/types/paginated_article_list.py +3 -3
  1291. merge/resources/knowledgebase/types/paginated_container_list.py +0 -2
  1292. merge/resources/knowledgebase/types/paginated_group_list.py +3 -2
  1293. merge/resources/knowledgebase/types/permission.py +0 -2
  1294. merge/resources/knowledgebase/types/permission_field_mappings.py +2 -2
  1295. merge/resources/knowledgebase/types/permission_type_enum.py +3 -2
  1296. merge/resources/knowledgebase/types/remote_data.py +1 -1
  1297. merge/resources/knowledgebase/types/remote_endpoint_info.py +1 -1
  1298. merge/resources/knowledgebase/types/remote_field_api.py +6 -2
  1299. merge/resources/knowledgebase/types/remote_field_api_response.py +21 -5
  1300. merge/resources/knowledgebase/types/remote_response.py +3 -3
  1301. merge/resources/knowledgebase/types/request_format_enum.py +3 -2
  1302. merge/resources/knowledgebase/types/response_type_enum.py +3 -2
  1303. merge/resources/knowledgebase/types/role_enum.py +3 -2
  1304. merge/resources/knowledgebase/types/roles_enum.py +3 -2
  1305. merge/resources/knowledgebase/types/selective_sync_configurations_usage_enum.py +3 -2
  1306. merge/resources/knowledgebase/types/status_3_c_6_enum.py +3 -2
  1307. merge/resources/knowledgebase/types/status_fd_5_enum.py +3 -2
  1308. merge/resources/knowledgebase/types/user_field_mappings.py +2 -2
  1309. merge/resources/knowledgebase/types/visibility_enum.py +3 -2
  1310. merge/resources/ticketing/__init__.py +4 -2
  1311. merge/resources/ticketing/resources/__init__.py +32 -30
  1312. merge/resources/ticketing/resources/account_details/raw_client.py +10 -0
  1313. merge/resources/ticketing/resources/account_token/raw_client.py +18 -0
  1314. merge/resources/ticketing/resources/accounts/raw_client.py +18 -0
  1315. merge/resources/ticketing/resources/async_passthrough/__init__.py +4 -2
  1316. merge/resources/ticketing/resources/async_passthrough/raw_client.py +18 -0
  1317. merge/resources/ticketing/resources/async_passthrough/types/__init__.py +4 -2
  1318. merge/resources/ticketing/resources/attachments/raw_client.py +48 -0
  1319. merge/resources/ticketing/resources/audit_trail/raw_client.py +10 -0
  1320. merge/resources/ticketing/resources/available_actions/raw_client.py +10 -0
  1321. merge/resources/ticketing/resources/collections/__init__.py +4 -2
  1322. merge/resources/ticketing/resources/collections/raw_client.py +26 -0
  1323. merge/resources/ticketing/resources/collections/types/__init__.py +4 -2
  1324. merge/resources/ticketing/resources/collections/types/collections_list_request_collection_type.py +3 -2
  1325. merge/resources/ticketing/resources/collections/types/collections_list_request_expand_item.py +3 -2
  1326. merge/resources/ticketing/resources/collections/types/collections_retrieve_request_expand_item.py +3 -2
  1327. merge/resources/ticketing/resources/collections/types/collections_viewers_list_request_expand_item.py +3 -2
  1328. merge/resources/ticketing/resources/comments/__init__.py +4 -2
  1329. merge/resources/ticketing/resources/comments/raw_client.py +34 -0
  1330. merge/resources/ticketing/resources/comments/types/__init__.py +4 -2
  1331. merge/resources/ticketing/resources/comments/types/comments_list_request_expand_item.py +3 -2
  1332. merge/resources/ticketing/resources/comments/types/comments_retrieve_request_expand_item.py +3 -2
  1333. merge/resources/ticketing/resources/contacts/raw_client.py +34 -0
  1334. merge/resources/ticketing/resources/delete_account/raw_client.py +10 -0
  1335. merge/resources/ticketing/resources/field_mapping/client.py +8 -8
  1336. merge/resources/ticketing/resources/field_mapping/raw_client.py +58 -8
  1337. merge/resources/ticketing/resources/force_resync/raw_client.py +10 -0
  1338. merge/resources/ticketing/resources/generate_key/raw_client.py +10 -0
  1339. merge/resources/ticketing/resources/issues/__init__.py +4 -2
  1340. merge/resources/ticketing/resources/issues/raw_client.py +18 -0
  1341. merge/resources/ticketing/resources/issues/types/__init__.py +4 -2
  1342. merge/resources/ticketing/resources/issues/types/issues_list_request_status.py +3 -2
  1343. merge/resources/ticketing/resources/link_token/__init__.py +4 -2
  1344. merge/resources/ticketing/resources/link_token/client.py +4 -4
  1345. merge/resources/ticketing/resources/link_token/raw_client.py +14 -4
  1346. merge/resources/ticketing/resources/link_token/types/__init__.py +4 -2
  1347. merge/resources/ticketing/resources/linked_accounts/__init__.py +4 -2
  1348. merge/resources/ticketing/resources/linked_accounts/raw_client.py +10 -0
  1349. merge/resources/ticketing/resources/linked_accounts/types/__init__.py +4 -2
  1350. merge/resources/ticketing/resources/linked_accounts/types/linked_accounts_list_request_category.py +3 -2
  1351. merge/resources/ticketing/resources/passthrough/raw_client.py +10 -0
  1352. merge/resources/ticketing/resources/projects/__init__.py +4 -2
  1353. merge/resources/ticketing/resources/projects/raw_client.py +26 -0
  1354. merge/resources/ticketing/resources/projects/types/__init__.py +4 -2
  1355. merge/resources/ticketing/resources/projects/types/projects_users_list_request_expand_item.py +3 -2
  1356. merge/resources/ticketing/resources/regenerate_key/raw_client.py +10 -0
  1357. merge/resources/ticketing/resources/roles/raw_client.py +18 -0
  1358. merge/resources/ticketing/resources/scopes/raw_client.py +26 -0
  1359. merge/resources/ticketing/resources/sync_status/raw_client.py +10 -0
  1360. merge/resources/ticketing/resources/tags/raw_client.py +18 -0
  1361. merge/resources/ticketing/resources/teams/raw_client.py +18 -0
  1362. merge/resources/ticketing/resources/tickets/__init__.py +4 -2
  1363. merge/resources/ticketing/resources/tickets/raw_client.py +80 -0
  1364. merge/resources/ticketing/resources/tickets/types/__init__.py +4 -2
  1365. merge/resources/ticketing/resources/tickets/types/tickets_list_request_expand_item.py +3 -2
  1366. merge/resources/ticketing/resources/tickets/types/tickets_list_request_priority.py +3 -2
  1367. merge/resources/ticketing/resources/tickets/types/tickets_list_request_remote_fields.py +3 -2
  1368. merge/resources/ticketing/resources/tickets/types/tickets_list_request_show_enum_origins.py +3 -2
  1369. merge/resources/ticketing/resources/tickets/types/tickets_list_request_status.py +3 -2
  1370. merge/resources/ticketing/resources/tickets/types/tickets_live_search_retrieve_request_remote_fields.py +3 -2
  1371. merge/resources/ticketing/resources/tickets/types/tickets_live_search_retrieve_request_show_enum_origins.py +3 -2
  1372. merge/resources/ticketing/resources/tickets/types/tickets_retrieve_request_expand_item.py +3 -2
  1373. merge/resources/ticketing/resources/tickets/types/tickets_retrieve_request_remote_fields.py +3 -2
  1374. merge/resources/ticketing/resources/tickets/types/tickets_retrieve_request_show_enum_origins.py +3 -2
  1375. merge/resources/ticketing/resources/tickets/types/tickets_viewers_list_request_expand_item.py +3 -2
  1376. merge/resources/ticketing/resources/users/__init__.py +4 -2
  1377. merge/resources/ticketing/resources/users/raw_client.py +18 -0
  1378. merge/resources/ticketing/resources/users/types/__init__.py +4 -2
  1379. merge/resources/ticketing/resources/users/types/users_list_request_expand_item.py +3 -2
  1380. merge/resources/ticketing/resources/users/types/users_retrieve_request_expand_item.py +3 -2
  1381. merge/resources/ticketing/resources/webhook_receivers/raw_client.py +18 -0
  1382. merge/resources/ticketing/types/__init__.py +4 -2
  1383. merge/resources/ticketing/types/account.py +1 -1
  1384. merge/resources/ticketing/types/account_details_and_actions.py +1 -1
  1385. merge/resources/ticketing/types/account_details_and_actions_status_enum.py +3 -2
  1386. merge/resources/ticketing/types/account_integration.py +2 -4
  1387. merge/resources/ticketing/types/actions_enum.py +3 -2
  1388. merge/resources/ticketing/types/advanced_metadata.py +1 -1
  1389. merge/resources/ticketing/types/attachment.py +12 -5
  1390. merge/resources/ticketing/types/attachment_request.py +2 -6
  1391. merge/resources/ticketing/types/categories_enum.py +3 -2
  1392. merge/resources/ticketing/types/category_enum.py +3 -2
  1393. merge/resources/ticketing/types/collection.py +3 -3
  1394. merge/resources/ticketing/types/collection_access_level_enum.py +3 -2
  1395. merge/resources/ticketing/types/collection_type_enum.py +3 -2
  1396. merge/resources/ticketing/types/comment.py +1 -5
  1397. merge/resources/ticketing/types/comment_request.py +2 -6
  1398. merge/resources/ticketing/types/comment_response.py +0 -4
  1399. merge/resources/ticketing/types/contact.py +1 -1
  1400. merge/resources/ticketing/types/contact_request.py +2 -2
  1401. merge/resources/ticketing/types/data_passthrough_request.py +1 -1
  1402. merge/resources/ticketing/types/effect_enum.py +3 -2
  1403. merge/resources/ticketing/types/enabled_actions_enum.py +3 -2
  1404. merge/resources/ticketing/types/encoding_enum.py +3 -2
  1405. merge/resources/ticketing/types/event_type_enum.py +3 -2
  1406. merge/resources/ticketing/types/external_target_field_api_response.py +49 -11
  1407. merge/resources/ticketing/types/field_format_enum.py +3 -2
  1408. merge/resources/ticketing/types/field_mapping_api_instance_remote_field.py +5 -3
  1409. merge/resources/ticketing/types/field_mapping_api_instance_response.py +49 -11
  1410. merge/resources/ticketing/types/field_permission_deserializer.py +2 -2
  1411. merge/resources/ticketing/types/field_permission_deserializer_request.py +2 -2
  1412. merge/resources/ticketing/types/field_type_enum.py +3 -2
  1413. merge/resources/ticketing/types/issue.py +1 -1
  1414. merge/resources/ticketing/types/issue_status_enum.py +3 -2
  1415. merge/resources/ticketing/types/item_format_enum.py +3 -2
  1416. merge/resources/ticketing/types/item_type_enum.py +3 -2
  1417. merge/resources/ticketing/types/language_enum.py +3 -2
  1418. merge/resources/ticketing/types/last_sync_result_enum.py +3 -2
  1419. merge/resources/ticketing/types/meta_response.py +2 -2
  1420. merge/resources/ticketing/types/method_enum.py +3 -2
  1421. merge/resources/ticketing/types/paginated_attachment_list.py +14 -5
  1422. merge/resources/ticketing/types/paginated_collection_list.py +5 -2
  1423. merge/resources/ticketing/types/paginated_comment_list.py +0 -4
  1424. merge/resources/ticketing/types/paginated_ticket_list.py +14 -5
  1425. merge/resources/ticketing/types/patched_ticket_request.py +2 -6
  1426. merge/resources/ticketing/types/permission.py +1 -1
  1427. merge/resources/ticketing/types/permission_request.py +2 -2
  1428. merge/resources/ticketing/types/priority_enum.py +3 -2
  1429. merge/resources/ticketing/types/project.py +1 -1
  1430. merge/resources/ticketing/types/remote_data.py +1 -1
  1431. merge/resources/ticketing/types/remote_endpoint_info.py +1 -1
  1432. merge/resources/ticketing/types/remote_field.py +1 -1
  1433. merge/resources/ticketing/types/remote_field_api.py +6 -2
  1434. merge/resources/ticketing/types/remote_field_api_response.py +39 -11
  1435. merge/resources/ticketing/types/remote_field_class_field_choices_item.py +1 -1
  1436. merge/resources/ticketing/types/remote_field_request.py +1 -1
  1437. merge/resources/ticketing/types/remote_response.py +3 -3
  1438. merge/resources/ticketing/types/request_format_enum.py +3 -2
  1439. merge/resources/ticketing/types/response_type_enum.py +3 -2
  1440. merge/resources/ticketing/types/role.py +1 -1
  1441. merge/resources/ticketing/types/role_enum.py +3 -2
  1442. merge/resources/ticketing/types/selective_sync_configurations_usage_enum.py +3 -2
  1443. merge/resources/ticketing/types/status_fd_5_enum.py +3 -2
  1444. merge/resources/ticketing/types/tag.py +1 -1
  1445. merge/resources/ticketing/types/team.py +1 -1
  1446. merge/resources/ticketing/types/ticket.py +12 -6
  1447. merge/resources/ticketing/types/ticket_access_enum.py +3 -2
  1448. merge/resources/ticketing/types/ticket_access_level_enum.py +3 -2
  1449. merge/resources/ticketing/types/ticket_actions_enum.py +3 -2
  1450. merge/resources/ticketing/types/ticket_request.py +2 -6
  1451. merge/resources/ticketing/types/ticket_response.py +14 -5
  1452. merge/resources/ticketing/types/ticket_status_enum.py +3 -2
  1453. merge/resources/ticketing/types/ticketing_attachment_response.py +14 -5
  1454. merge/resources/ticketing/types/user.py +1 -1
  1455. {mergepythonclient-3.1.0.dist-info → mergepythonclient-4.0.0.dist-info}/METADATA +18 -22
  1456. {mergepythonclient-3.1.0.dist-info → mergepythonclient-4.0.0.dist-info}/RECORD +1458 -1450
  1457. {mergepythonclient-3.1.0.dist-info → mergepythonclient-4.0.0.dist-info}/LICENSE.md +0 -0
  1458. {mergepythonclient-3.1.0.dist-info → mergepythonclient-4.0.0.dist-info}/WHEEL +0 -0
merge/core/http_client.py CHANGED
@@ -5,7 +5,6 @@ import email.utils
5
5
  import re
6
6
  import time
7
7
  import typing
8
- import urllib.parse
9
8
  from contextlib import asynccontextmanager, contextmanager
10
9
  from random import random
11
10
 
@@ -13,14 +12,15 @@ import httpx
13
12
  from .file import File, convert_file_dict_to_httpx_tuples
14
13
  from .force_multipart import FORCE_MULTIPART
15
14
  from .jsonable_encoder import jsonable_encoder
15
+ from .logging import LogConfig, Logger, create_logger
16
16
  from .query_encoder import encode_query
17
- from .remove_none_from_dict import remove_none_from_dict
17
+ from .remove_none_from_dict import remove_none_from_dict as remove_none_from_dict
18
18
  from .request_options import RequestOptions
19
19
  from httpx._types import RequestFiles
20
20
 
21
- INITIAL_RETRY_DELAY_SECONDS = 0.5
22
- MAX_RETRY_DELAY_SECONDS = 10
23
- MAX_RETRY_DELAY_SECONDS_FROM_HEADER = 30
21
+ INITIAL_RETRY_DELAY_SECONDS = 1.0
22
+ MAX_RETRY_DELAY_SECONDS = 60.0
23
+ JITTER_FACTOR = 0.2 # 20% random jitter
24
24
 
25
25
 
26
26
  def _parse_retry_after(response_headers: httpx.Headers) -> typing.Optional[float]:
@@ -64,6 +64,38 @@ def _parse_retry_after(response_headers: httpx.Headers) -> typing.Optional[float
64
64
  return seconds
65
65
 
66
66
 
67
+ def _add_positive_jitter(delay: float) -> float:
68
+ """Add positive jitter (0-20%) to prevent thundering herd."""
69
+ jitter_multiplier = 1 + random() * JITTER_FACTOR
70
+ return delay * jitter_multiplier
71
+
72
+
73
+ def _add_symmetric_jitter(delay: float) -> float:
74
+ """Add symmetric jitter (±10%) for exponential backoff."""
75
+ jitter_multiplier = 1 + (random() - 0.5) * JITTER_FACTOR
76
+ return delay * jitter_multiplier
77
+
78
+
79
+ def _parse_x_ratelimit_reset(response_headers: httpx.Headers) -> typing.Optional[float]:
80
+ """
81
+ Parse the X-RateLimit-Reset header (Unix timestamp in seconds).
82
+ Returns seconds to wait, or None if header is missing/invalid.
83
+ """
84
+ reset_time_str = response_headers.get("x-ratelimit-reset")
85
+ if reset_time_str is None:
86
+ return None
87
+
88
+ try:
89
+ reset_time = int(reset_time_str)
90
+ delay = reset_time - time.time()
91
+ if delay > 0:
92
+ return delay
93
+ except (ValueError, TypeError):
94
+ pass
95
+
96
+ return None
97
+
98
+
67
99
  def _retry_timeout(response: httpx.Response, retries: int) -> float:
68
100
  """
69
101
  Determine the amount of time to wait before retrying a request.
@@ -71,17 +103,19 @@ def _retry_timeout(response: httpx.Response, retries: int) -> float:
71
103
  with a jitter to determine the number of seconds to wait.
72
104
  """
73
105
 
74
- # If the API asks us to wait a certain amount of time (and it's a reasonable amount), just do what it says.
106
+ # 1. Check Retry-After header first
75
107
  retry_after = _parse_retry_after(response.headers)
76
- if retry_after is not None and retry_after <= MAX_RETRY_DELAY_SECONDS_FROM_HEADER:
77
- return retry_after
108
+ if retry_after is not None and retry_after > 0:
109
+ return min(retry_after, MAX_RETRY_DELAY_SECONDS)
78
110
 
79
- # Apply exponential backoff, capped at MAX_RETRY_DELAY_SECONDS.
80
- retry_delay = min(INITIAL_RETRY_DELAY_SECONDS * pow(2.0, retries), MAX_RETRY_DELAY_SECONDS)
111
+ # 2. Check X-RateLimit-Reset header (with positive jitter)
112
+ ratelimit_reset = _parse_x_ratelimit_reset(response.headers)
113
+ if ratelimit_reset is not None:
114
+ return _add_positive_jitter(min(ratelimit_reset, MAX_RETRY_DELAY_SECONDS))
81
115
 
82
- # Add a randomness / jitter to the retry delay to avoid overwhelming the server with retries.
83
- timeout = retry_delay * (1 - 0.25 * random())
84
- return timeout if timeout >= 0 else 0
116
+ # 3. Fall back to exponential backoff (with symmetric jitter)
117
+ backoff = min(INITIAL_RETRY_DELAY_SECONDS * pow(2.0, retries), MAX_RETRY_DELAY_SECONDS)
118
+ return _add_symmetric_jitter(backoff)
85
119
 
86
120
 
87
121
  def _should_retry(response: httpx.Response) -> bool:
@@ -89,6 +123,71 @@ def _should_retry(response: httpx.Response) -> bool:
89
123
  return response.status_code >= 500 or response.status_code in retryable_400s
90
124
 
91
125
 
126
+ _SENSITIVE_HEADERS = frozenset(
127
+ {
128
+ "authorization",
129
+ "www-authenticate",
130
+ "x-api-key",
131
+ "api-key",
132
+ "apikey",
133
+ "x-api-token",
134
+ "x-auth-token",
135
+ "auth-token",
136
+ "cookie",
137
+ "set-cookie",
138
+ "proxy-authorization",
139
+ "proxy-authenticate",
140
+ "x-csrf-token",
141
+ "x-xsrf-token",
142
+ "x-session-token",
143
+ "x-access-token",
144
+ }
145
+ )
146
+
147
+
148
+ def _redact_headers(headers: typing.Dict[str, str]) -> typing.Dict[str, str]:
149
+ return {k: ("[REDACTED]" if k.lower() in _SENSITIVE_HEADERS else v) for k, v in headers.items()}
150
+
151
+
152
+ def _build_url(base_url: str, path: typing.Optional[str]) -> str:
153
+ """
154
+ Build a full URL by joining a base URL with a path.
155
+
156
+ This function correctly handles base URLs that contain path prefixes (e.g., tenant-based URLs)
157
+ by using string concatenation instead of urllib.parse.urljoin(), which would incorrectly
158
+ strip path components when the path starts with '/'.
159
+
160
+ Example:
161
+ >>> _build_url("https://cloud.example.com/org/tenant/api", "/users")
162
+ 'https://cloud.example.com/org/tenant/api/users'
163
+
164
+ Args:
165
+ base_url: The base URL, which may contain path prefixes.
166
+ path: The path to append. Can be None or empty string.
167
+
168
+ Returns:
169
+ The full URL with base_url and path properly joined.
170
+ """
171
+ if not path:
172
+ return base_url
173
+ return f"{base_url.rstrip('/')}/{path.lstrip('/')}"
174
+
175
+
176
+ def _maybe_filter_none_from_multipart_data(
177
+ data: typing.Optional[typing.Any],
178
+ request_files: typing.Optional[RequestFiles],
179
+ force_multipart: typing.Optional[bool],
180
+ ) -> typing.Optional[typing.Any]:
181
+ """
182
+ Filter None values from data body for multipart/form requests.
183
+ This prevents httpx from converting None to empty strings in multipart encoding.
184
+ Only applies when files are present or force_multipart is True.
185
+ """
186
+ if data is not None and isinstance(data, typing.Mapping) and (request_files or force_multipart):
187
+ return remove_none_from_dict(data)
188
+ return data
189
+
190
+
92
191
  def remove_omit_from_dict(
93
192
  original: typing.Dict[str, typing.Optional[typing.Any]],
94
193
  omit: typing.Optional[typing.Any],
@@ -143,8 +242,19 @@ def get_request_body(
143
242
  # If both data and json are None, we send json data in the event extra properties are specified
144
243
  json_body = maybe_filter_request_body(json, request_options, omit)
145
244
 
146
- # If you have an empty JSON body, you should just send None
147
- return (json_body if json_body != {} else None), data_body if data_body != {} else None
245
+ has_additional_body_parameters = bool(
246
+ request_options is not None and request_options.get("additional_body_parameters")
247
+ )
248
+
249
+ # Only collapse empty dict to None when the body was not explicitly provided
250
+ # and there are no additional body parameters. This preserves explicit empty
251
+ # bodies (e.g., when an endpoint has a request body type but all fields are optional).
252
+ if json_body == {} and json is None and not has_additional_body_parameters:
253
+ json_body = None
254
+ if data_body == {} and data is None and not has_additional_body_parameters:
255
+ data_body = None
256
+
257
+ return json_body, data_body
148
258
 
149
259
 
150
260
  class HttpClient:
@@ -155,11 +265,13 @@ class HttpClient:
155
265
  base_timeout: typing.Callable[[], typing.Optional[float]],
156
266
  base_headers: typing.Callable[[], typing.Dict[str, str]],
157
267
  base_url: typing.Optional[typing.Callable[[], str]] = None,
268
+ logging_config: typing.Optional[typing.Union[LogConfig, Logger]] = None,
158
269
  ):
159
270
  self.base_url = base_url
160
271
  self.base_timeout = base_timeout
161
272
  self.base_headers = base_headers
162
273
  self.httpx_client = httpx_client
274
+ self.logger = create_logger(logging_config)
163
275
 
164
276
  def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
165
277
  base_url = maybe_base_url
@@ -188,7 +300,7 @@ class HttpClient:
188
300
  ] = None,
189
301
  headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
190
302
  request_options: typing.Optional[RequestOptions] = None,
191
- retries: int = 2,
303
+ retries: int = 0,
192
304
  omit: typing.Optional[typing.Any] = None,
193
305
  force_multipart: typing.Optional[bool] = None,
194
306
  ) -> httpx.Response:
@@ -210,35 +322,53 @@ class HttpClient:
210
322
  if (request_files is None or len(request_files) == 0) and force_multipart:
211
323
  request_files = FORCE_MULTIPART
212
324
 
213
- response = self.httpx_client.request(
214
- method=method,
215
- url=urllib.parse.urljoin(f"{base_url}/", path),
216
- headers=jsonable_encoder(
325
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
326
+
327
+ # Compute encoded params separately to avoid passing empty list to httpx
328
+ # (httpx strips existing query params from URL when params=[] is passed)
329
+ _encoded_params = encode_query(
330
+ jsonable_encoder(
217
331
  remove_none_from_dict(
218
- {
219
- **self.base_headers(),
220
- **(headers if headers is not None else {}),
221
- **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
222
- }
223
- )
224
- ),
225
- params=encode_query(
226
- jsonable_encoder(
227
- remove_none_from_dict(
228
- remove_omit_from_dict(
229
- {
230
- **(params if params is not None else {}),
231
- **(
232
- request_options.get("additional_query_parameters", {}) or {}
233
- if request_options is not None
234
- else {}
235
- ),
236
- },
237
- omit,
238
- )
332
+ remove_omit_from_dict(
333
+ {
334
+ **(params if params is not None else {}),
335
+ **(
336
+ request_options.get("additional_query_parameters", {}) or {}
337
+ if request_options is not None
338
+ else {}
339
+ ),
340
+ },
341
+ omit,
239
342
  )
240
343
  )
241
- ),
344
+ )
345
+ )
346
+
347
+ _request_url = _build_url(base_url, path)
348
+ _request_headers = jsonable_encoder(
349
+ remove_none_from_dict(
350
+ {
351
+ **self.base_headers(),
352
+ **(headers if headers is not None else {}),
353
+ **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
354
+ }
355
+ )
356
+ )
357
+
358
+ if self.logger.is_debug():
359
+ self.logger.debug(
360
+ "Making HTTP request",
361
+ method=method,
362
+ url=_request_url,
363
+ headers=_redact_headers(_request_headers),
364
+ has_body=json_body is not None or data_body is not None,
365
+ )
366
+
367
+ response = self.httpx_client.request(
368
+ method=method,
369
+ url=_request_url,
370
+ headers=_request_headers,
371
+ params=_encoded_params if _encoded_params else None,
242
372
  json=json_body,
243
373
  data=data_body,
244
374
  content=content,
@@ -246,9 +376,9 @@ class HttpClient:
246
376
  timeout=timeout,
247
377
  )
248
378
 
249
- max_retries: int = request_options.get("max_retries", 0) if request_options is not None else 0
379
+ max_retries: int = request_options.get("max_retries", 2) if request_options is not None else 2
250
380
  if _should_retry(response=response):
251
- if max_retries > retries:
381
+ if retries < max_retries:
252
382
  time.sleep(_retry_timeout(response=response, retries=retries))
253
383
  return self.request(
254
384
  path=path,
@@ -264,6 +394,24 @@ class HttpClient:
264
394
  omit=omit,
265
395
  )
266
396
 
397
+ if self.logger.is_debug():
398
+ if 200 <= response.status_code < 400:
399
+ self.logger.debug(
400
+ "HTTP request succeeded",
401
+ method=method,
402
+ url=_request_url,
403
+ status_code=response.status_code,
404
+ )
405
+
406
+ if self.logger.is_error():
407
+ if response.status_code >= 400:
408
+ self.logger.error(
409
+ "HTTP request failed with error status",
410
+ method=method,
411
+ url=_request_url,
412
+ status_code=response.status_code,
413
+ )
414
+
267
415
  return response
268
416
 
269
417
  @contextmanager
@@ -285,7 +433,7 @@ class HttpClient:
285
433
  ] = None,
286
434
  headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
287
435
  request_options: typing.Optional[RequestOptions] = None,
288
- retries: int = 2,
436
+ retries: int = 0,
289
437
  omit: typing.Optional[typing.Any] = None,
290
438
  force_multipart: typing.Optional[bool] = None,
291
439
  ) -> typing.Iterator[httpx.Response]:
@@ -307,35 +455,52 @@ class HttpClient:
307
455
 
308
456
  json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
309
457
 
310
- with self.httpx_client.stream(
311
- method=method,
312
- url=urllib.parse.urljoin(f"{base_url}/", path),
313
- headers=jsonable_encoder(
458
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
459
+
460
+ # Compute encoded params separately to avoid passing empty list to httpx
461
+ # (httpx strips existing query params from URL when params=[] is passed)
462
+ _encoded_params = encode_query(
463
+ jsonable_encoder(
314
464
  remove_none_from_dict(
315
- {
316
- **self.base_headers(),
317
- **(headers if headers is not None else {}),
318
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
319
- }
320
- )
321
- ),
322
- params=encode_query(
323
- jsonable_encoder(
324
- remove_none_from_dict(
325
- remove_omit_from_dict(
326
- {
327
- **(params if params is not None else {}),
328
- **(
329
- request_options.get("additional_query_parameters", {})
330
- if request_options is not None
331
- else {}
332
- ),
333
- },
334
- omit,
335
- )
465
+ remove_omit_from_dict(
466
+ {
467
+ **(params if params is not None else {}),
468
+ **(
469
+ request_options.get("additional_query_parameters", {})
470
+ if request_options is not None
471
+ else {}
472
+ ),
473
+ },
474
+ omit,
336
475
  )
337
476
  )
338
- ),
477
+ )
478
+ )
479
+
480
+ _request_url = _build_url(base_url, path)
481
+ _request_headers = jsonable_encoder(
482
+ remove_none_from_dict(
483
+ {
484
+ **self.base_headers(),
485
+ **(headers if headers is not None else {}),
486
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
487
+ }
488
+ )
489
+ )
490
+
491
+ if self.logger.is_debug():
492
+ self.logger.debug(
493
+ "Making streaming HTTP request",
494
+ method=method,
495
+ url=_request_url,
496
+ headers=_redact_headers(_request_headers),
497
+ )
498
+
499
+ with self.httpx_client.stream(
500
+ method=method,
501
+ url=_request_url,
502
+ headers=_request_headers,
503
+ params=_encoded_params if _encoded_params else None,
339
504
  json=json_body,
340
505
  data=data_body,
341
506
  content=content,
@@ -353,11 +518,20 @@ class AsyncHttpClient:
353
518
  base_timeout: typing.Callable[[], typing.Optional[float]],
354
519
  base_headers: typing.Callable[[], typing.Dict[str, str]],
355
520
  base_url: typing.Optional[typing.Callable[[], str]] = None,
521
+ async_base_headers: typing.Optional[typing.Callable[[], typing.Awaitable[typing.Dict[str, str]]]] = None,
522
+ logging_config: typing.Optional[typing.Union[LogConfig, Logger]] = None,
356
523
  ):
357
524
  self.base_url = base_url
358
525
  self.base_timeout = base_timeout
359
526
  self.base_headers = base_headers
527
+ self.async_base_headers = async_base_headers
360
528
  self.httpx_client = httpx_client
529
+ self.logger = create_logger(logging_config)
530
+
531
+ async def _get_headers(self) -> typing.Dict[str, str]:
532
+ if self.async_base_headers is not None:
533
+ return await self.async_base_headers()
534
+ return self.base_headers()
361
535
 
362
536
  def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
363
537
  base_url = maybe_base_url
@@ -386,7 +560,7 @@ class AsyncHttpClient:
386
560
  ] = None,
387
561
  headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
388
562
  request_options: typing.Optional[RequestOptions] = None,
389
- retries: int = 2,
563
+ retries: int = 0,
390
564
  omit: typing.Optional[typing.Any] = None,
391
565
  force_multipart: typing.Optional[bool] = None,
392
566
  ) -> httpx.Response:
@@ -408,36 +582,56 @@ class AsyncHttpClient:
408
582
 
409
583
  json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
410
584
 
411
- # Add the input to each of these and do None-safety checks
412
- response = await self.httpx_client.request(
413
- method=method,
414
- url=urllib.parse.urljoin(f"{base_url}/", path),
415
- headers=jsonable_encoder(
585
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
586
+
587
+ # Get headers (supports async token providers)
588
+ _headers = await self._get_headers()
589
+
590
+ # Compute encoded params separately to avoid passing empty list to httpx
591
+ # (httpx strips existing query params from URL when params=[] is passed)
592
+ _encoded_params = encode_query(
593
+ jsonable_encoder(
416
594
  remove_none_from_dict(
417
- {
418
- **self.base_headers(),
419
- **(headers if headers is not None else {}),
420
- **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
421
- }
422
- )
423
- ),
424
- params=encode_query(
425
- jsonable_encoder(
426
- remove_none_from_dict(
427
- remove_omit_from_dict(
428
- {
429
- **(params if params is not None else {}),
430
- **(
431
- request_options.get("additional_query_parameters", {}) or {}
432
- if request_options is not None
433
- else {}
434
- ),
435
- },
436
- omit,
437
- )
595
+ remove_omit_from_dict(
596
+ {
597
+ **(params if params is not None else {}),
598
+ **(
599
+ request_options.get("additional_query_parameters", {}) or {}
600
+ if request_options is not None
601
+ else {}
602
+ ),
603
+ },
604
+ omit,
438
605
  )
439
606
  )
440
- ),
607
+ )
608
+ )
609
+
610
+ _request_url = _build_url(base_url, path)
611
+ _request_headers = jsonable_encoder(
612
+ remove_none_from_dict(
613
+ {
614
+ **_headers,
615
+ **(headers if headers is not None else {}),
616
+ **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
617
+ }
618
+ )
619
+ )
620
+
621
+ if self.logger.is_debug():
622
+ self.logger.debug(
623
+ "Making HTTP request",
624
+ method=method,
625
+ url=_request_url,
626
+ headers=_redact_headers(_request_headers),
627
+ has_body=json_body is not None or data_body is not None,
628
+ )
629
+
630
+ response = await self.httpx_client.request(
631
+ method=method,
632
+ url=_request_url,
633
+ headers=_request_headers,
634
+ params=_encoded_params if _encoded_params else None,
441
635
  json=json_body,
442
636
  data=data_body,
443
637
  content=content,
@@ -445,9 +639,9 @@ class AsyncHttpClient:
445
639
  timeout=timeout,
446
640
  )
447
641
 
448
- max_retries: int = request_options.get("max_retries", 0) if request_options is not None else 0
642
+ max_retries: int = request_options.get("max_retries", 2) if request_options is not None else 2
449
643
  if _should_retry(response=response):
450
- if max_retries > retries:
644
+ if retries < max_retries:
451
645
  await asyncio.sleep(_retry_timeout(response=response, retries=retries))
452
646
  return await self.request(
453
647
  path=path,
@@ -462,6 +656,25 @@ class AsyncHttpClient:
462
656
  retries=retries + 1,
463
657
  omit=omit,
464
658
  )
659
+
660
+ if self.logger.is_debug():
661
+ if 200 <= response.status_code < 400:
662
+ self.logger.debug(
663
+ "HTTP request succeeded",
664
+ method=method,
665
+ url=_request_url,
666
+ status_code=response.status_code,
667
+ )
668
+
669
+ if self.logger.is_error():
670
+ if response.status_code >= 400:
671
+ self.logger.error(
672
+ "HTTP request failed with error status",
673
+ method=method,
674
+ url=_request_url,
675
+ status_code=response.status_code,
676
+ )
677
+
465
678
  return response
466
679
 
467
680
  @asynccontextmanager
@@ -483,7 +696,7 @@ class AsyncHttpClient:
483
696
  ] = None,
484
697
  headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
485
698
  request_options: typing.Optional[RequestOptions] = None,
486
- retries: int = 2,
699
+ retries: int = 0,
487
700
  omit: typing.Optional[typing.Any] = None,
488
701
  force_multipart: typing.Optional[bool] = None,
489
702
  ) -> typing.AsyncIterator[httpx.Response]:
@@ -505,35 +718,55 @@ class AsyncHttpClient:
505
718
 
506
719
  json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
507
720
 
508
- async with self.httpx_client.stream(
509
- method=method,
510
- url=urllib.parse.urljoin(f"{base_url}/", path),
511
- headers=jsonable_encoder(
721
+ data_body = _maybe_filter_none_from_multipart_data(data_body, request_files, force_multipart)
722
+
723
+ # Get headers (supports async token providers)
724
+ _headers = await self._get_headers()
725
+
726
+ # Compute encoded params separately to avoid passing empty list to httpx
727
+ # (httpx strips existing query params from URL when params=[] is passed)
728
+ _encoded_params = encode_query(
729
+ jsonable_encoder(
512
730
  remove_none_from_dict(
513
- {
514
- **self.base_headers(),
515
- **(headers if headers is not None else {}),
516
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
517
- }
518
- )
519
- ),
520
- params=encode_query(
521
- jsonable_encoder(
522
- remove_none_from_dict(
523
- remove_omit_from_dict(
524
- {
525
- **(params if params is not None else {}),
526
- **(
527
- request_options.get("additional_query_parameters", {})
528
- if request_options is not None
529
- else {}
530
- ),
531
- },
532
- omit=omit,
533
- )
731
+ remove_omit_from_dict(
732
+ {
733
+ **(params if params is not None else {}),
734
+ **(
735
+ request_options.get("additional_query_parameters", {})
736
+ if request_options is not None
737
+ else {}
738
+ ),
739
+ },
740
+ omit=omit,
534
741
  )
535
742
  )
536
- ),
743
+ )
744
+ )
745
+
746
+ _request_url = _build_url(base_url, path)
747
+ _request_headers = jsonable_encoder(
748
+ remove_none_from_dict(
749
+ {
750
+ **_headers,
751
+ **(headers if headers is not None else {}),
752
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
753
+ }
754
+ )
755
+ )
756
+
757
+ if self.logger.is_debug():
758
+ self.logger.debug(
759
+ "Making streaming HTTP request",
760
+ method=method,
761
+ url=_request_url,
762
+ headers=_redact_headers(_request_headers),
763
+ )
764
+
765
+ async with self.httpx_client.stream(
766
+ method=method,
767
+ url=_request_url,
768
+ headers=_request_headers,
769
+ params=_encoded_params if _encoded_params else None,
537
770
  json=json_body,
538
771
  data=data_body,
539
772
  content=content,
@@ -9,7 +9,7 @@ T = TypeVar("T")
9
9
 
10
10
 
11
11
  class BaseHttpResponse:
12
- """Minimalist HTTP response wrapper that exposes response headers."""
12
+ """Minimalist HTTP response wrapper that exposes response headers and status code."""
13
13
 
14
14
  _response: httpx.Response
15
15
 
@@ -20,6 +20,10 @@ class BaseHttpResponse:
20
20
  def headers(self) -> Dict[str, str]:
21
21
  return dict(self._response.headers)
22
22
 
23
+ @property
24
+ def status_code(self) -> int:
25
+ return self._response.status_code
26
+
23
27
 
24
28
  class HttpResponse(Generic[T], BaseHttpResponse):
25
29
  """HTTP response wrapper that exposes response headers and data."""